2017-05-29 58 views
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安裝的其他服務。

回答

1

我的錯誤,這是工作。我從請求中省略了尾隨/。當我添加這個時,它一切正常。

所以,現在我打電話:

http://dummy.localhost/portainer/

相關問題