SafeLine icon indicating copy to clipboard operation
SafeLine copied to clipboard

[Bug] websocket无法连接

Open Tristan0430 opened this issue 1 year ago • 11 comments
trafficstars

问题描述

雷池旧版本(忘了是哪一个)代理过code-server,并且可以正常连接,更新到4.2.0后,无法连接websocket服务器,需手动更改雷池代理的nginx配置文件,很不方便。 3e5de3f30e748b517a02b0772229ae5

版本号

4.2.0

复现方法

  1. 在雷池上代理websocket应用
  2. 出现websocket连接失败的报错

期望的结果

不需要手动更改nginx配置文件就可以支持websocket连接

Tristan0430 avatar Jan 26 '24 03:01 Tristan0430

https://github.com/microsoft/vscode/issues/187360

yrluke avatar Jan 29 '24 03:01 yrluke

看上去vscode那边也没查清到底是因为啥websocket close了,能抓包看一下是什么情况吗

yrluke avatar Jan 29 '24 03:01 yrluke

可以google一下看看有没有解决办法

yrluke avatar Jan 29 '24 03:01 yrluke

这个问题好像是偶发的,而且与linux版本有关,CentOS遇到的多,你可以在vscode的issue里面搜一下,好像有解决方法

Lvshujun0918 avatar Jan 29 '24 13:01 Lvshujun0918

看上去vscode那边也没查清到底是因为啥websocket close了,能抓包看一下是什么情况吗

https://github.com/coder/code-server/issues/4443 这个应该是雷池的nginx的配置问题,群里也有类似的情况

Tristan0430 avatar Jan 31 '24 01:01 Tristan0430

这个问题好像是偶发的,而且与linux版本有关,CentOS遇到的多,你可以在vscode的issue里面搜一下,好像有解决方法

我不是个例,群里也有其他人有类似的问题 1706664567691

Tristan0430 avatar Jan 31 '24 01:01 Tristan0430

我也发现这个问题了,我试过swag和Nginx-Proxy-Manager这个两个代理,都有这个问题。如果我在swag或者Nginx-Proxy-Manager的docker compose文件中,将端口映射设置成443:443 , code server 是工作正常的。但是如果其它端口映射到443(比如9999:443),就是出现1006的错误,已经困扰我几天了

octopus2181 avatar Jan 31 '24 01:01 octopus2181

我也发现这个问题了,我试过swag和Nginx-Proxy-Manager这个两个代理,都有这个问题。如果我在swag或者Nginx-Proxy-Manager的docker compose文件中,将端口映射设置成443:443 , code server 是工作正常的。但是如果其它端口映射到443(比如9999:443),就是出现1006的错误,已经困扰我几天了

我的code-server的端口映射是40013:8443,本地是没问题的,代理才有websocket报错,内外端口改成一致也是一样的。

Tristan0430 avatar Jan 31 '24 02:01 Tristan0430

我也遇到了,老哥们都咋改的nginx配置,我是部署的snapdrop,报连不上wss

LikeNeko avatar Jan 31 '24 02:01 LikeNeko

我也发现这个问题了,我试过swag和Nginx-Proxy-Manager这个两个代理,都有这个问题。如果我在swag或者Nginx-Proxy-Manager的docker compose文件中,将端口映射设置成443:443 , code server 是工作正常的。但是如果其它端口映射到443(比如9999:443),就是出现1006的错误,已经困扰我几天了

我的code-server的端口映射是40013:8443,本地是没问题的,代理才有websocket报错,内外端口改成一致也是一样的。

是的,我也是这个问题,在code server中端口可以映射,但代理中如果非443端口映射443,就会出现1006

octopus2181 avatar Jan 31 '24 04:01 octopus2181

我的问题已经解决,这样设置 proxy_set_header X-Forwarded-Host $http_host 之前是$host,这个是不带端口转发,$http_host带端口转发。供参考!

octopus2181 avatar Feb 04 '24 01:02 octopus2181

我的问题已经解决,这样设置 proxy_set_header X-Forwarded-Host $http_host 之前是$host,这个是不带端口转发,$http_host带端口转发。供参考!

用这个方法解决了!

piwawa avatar Dec 02 '24 16:12 piwawa