我正在尝试为一个WebSocket应用程序配置Traefik,我只是尝试在docker上使用一个简单的WS应用程序:https://hub.docker.com/r/jmalloc/echo-server/
为了测试它我使用的是Chrome SimpleWebSocketClient,所以如果我使用IP:应用程序的端口,它可以正常工作。如果我添加Traefik DNS它失败了,我只是尝试使用其他WS服务器和客户端也失败了,所以它将是Traefik。
我只试用Traefik版本:
-v1.3.0/raclette
-v1.2.3/morbier
这些是我的Traefik规则:
[backends.ws-test-backend]
[backends.ws-test-backend.LoadBalancer]
method = "drr"
[backends.ws-test-backend.servers.server1]
url = "ws://172.16.8.231:3000"
[frontends.ws-test-frontend]
backend = "ws-test-backend"
passHostHeader = true
entrypoints = ["http","https","ws", "wss"]
[frontends.ws-test-frontend.routes.manager]
rule = "Host:ws-test.ikcloud.ikerlan.es"
有什么不对的? 这样做的推荐反向代理?
答案 0 :(得分:0)
您需要为ws连接启用粘性会话,否则它将一直重新连接。
[backends]
[backends.backend1]
# Enable sticky session
[backends.backend1.loadbalancer.stickiness]