2
我已經安裝Traefik工作在Docker Swarm模式下。我已經部署Portainer到集羣用下面的命令:在Traefik中是否有與Apache的ReverseProxyPass等價的功能?
docker service create --network traefik-net --label "traefik.port=9000" --label "traefik.docker.network =traefik-net" --label "traefik.frontend.rule=Host:`hostname -f`;PathPrefixStrip:/portainer" --label="traefik.backend=port ainer" --constraint "node.role == manager" -p 9000:9000 --mount "type=bind,src=/var/run/docker.sock,dst=/var/run/docker.s ock" --name portainer portainer/portainer
如可以看到的我已經配置Traefik,通過使用標籤,以代理爲/portainer
到Portainer服務的請求。然而,Protainer提供的鏈接來自/
,因爲它不知道它正在被代理,所以應用程序不起作用,因爲Traefik不知道如何路由每個鏈接。
我想避免不得不改變服務的部署與Traefik一起工作,因爲我希望它是透明的。爲此,有可能讓Traefik重寫像Apache的ReverseProxyPass
這樣的服務的鏈接嗎?
我知道Traefik現在設置X-Forwarded-Prefix
,但我不確定如何讓Portainer等開箱即用或者實際上是從Docker Store安裝的其他服務。