2

我正在尝试为 WebSocket 应用程序配置 Traefik,我只是尝试在 docker 上使用一个简单的 WS 应用程序:https ://hub.docker.com/r/jmalloc/echo-server/

为了测试它,我使用 Chrome SimpleWebSocketClient,所以如果我使用应用程序的 IP:Port,它可以正常工作。如果我添加 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"

有什么问题吗?有什么推荐的反向代理吗?

4

1 回答 1

0

您需要为您的 ws 连接启用粘性会话,否则它将一直重新连接。

[backends]
  [backends.backend1]
    # Enable sticky session
    [backends.backend1.loadbalancer.stickiness]
于 2019-01-02T14:32:39.837 回答