Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许websocket的Traefik配置_Websocket_Proxy_Traefik - Fatal编程技术网

允许websocket的Traefik配置

允许websocket的Traefik配置,websocket,proxy,traefik,Websocket,Proxy,Traefik,我有一个由以下服务组成的应用程序: tls终止(基于https门户) 反向代理(nginx) 其他服务(web、api、wss等) 所有的交通都是这样的: https门户->nginx->其他服务 我正在用Traefik替换https门户,但我无法使websocket正确通过 下面是我的docker-compose.yml文件的摘录。到达Traefik的流量被转发到反向代理的专用端口。这一个将执行几个检查,然后将请求转发到相应的服务(api、web前端、websocket服务器等) 当web

我有一个由以下服务组成的应用程序:

  • tls终止(基于https门户)
  • 反向代理(nginx)
  • 其他服务(web、api、wss等)
所有的交通都是这样的:

https门户->nginx->其他服务

我正在用Traefik替换https门户,但我无法使websocket正确通过

下面是我的docker-compose.yml文件的摘录。到达Traefik的流量被转发到反向代理的专用端口。这一个将执行几个检查,然后将请求转发到相应的服务(api、web前端、websocket服务器等)

当web前端在app.dev域上提供服务时,会在ws://wss.app.dev上尝试websocket连接,但它无法连接到基础websocket服务器。该错误似乎链接到设置为app.dev的源标题,其中目标服务器为wss.app.dev

日志格式traefik:

traefik_1        | time="2017-08-02T13:55:05Z" level=warning msg="Error while upgrading connection : websocket: 'Origin' header value not allowed"

我不确定我在这里遗漏了什么,因为这是通过https门户正确传递的。Traefik中是否需要其他选项?

WebSocket不需要其他配置

traefik.wss.protocol=http
traefik.wss.protocol=https

WebSocket在1.3.2之后和1.3.8之前有一个bug


我建议您使用1.4.0或至少1.3.8

有趣,我不确定是否有答案,但我将traefik作为反向代理运行,而不仅仅是https门户,我的WebSocket在traefik中没有任何附加配置。虽然我没有在docker compose中定义我的服务的端口,只是使用nginx来服务静态内容。不确定这是否真的有帮助。。。但我知道这在某种程度上是可能的。希望有人能给出答案,但如果您在这里没有得到答案,那么在Traefik的github页面上询问可能是值得的。祝你好运你的traefik版本是什么?谢谢@ArthurWeborg。我使用的是1.3.4,但我还没有尝试使用1.3.5
traefik_1        | time="2017-08-02T13:55:05Z" level=warning msg="Error while upgrading connection : websocket: 'Origin' header value not allowed"