-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
升级到1.8.10后ws访问404 #3222
Comments
应该是新版服务端要求 host match |
emmm 这里该不该要求match还是有点伤脑筋呢 |
我是抄了 httpupgrade ;) |
我之前以为服务端应该不会有人加的() |
"headers": { 你服务端有这个,10版本要求客户端也要有对应的,会服务端会校验,解决方法去了就是。 |
clash客户端配置header了,但不行。好吧,最后ng上强制指定host可以了,可能是ng这里header被重写了? |
不用clash/c meta不清楚和10版本兼容怎样了。 |
This comment was marked as off-topic.
This comment was marked as off-topic.
如果套了cf 的情况下 取消host 会连不上……感觉整个机制有点鸡肋 |
自Xray 1.8.10 开始,websocket 域名验证的方式是错误的。如果服务器使用不是默认端口,按照HTTP规定应该在Host里发送端口。如果客户端发送了端口,服务端则直接报错。 |
建议使用 net.SplitHostPort 处理 request.Host,进行 host 比较。 按照规范域名应该使用小写字母。 如果使用 strings.Contains, 服务端设置 www.example.com, |
Done b8c0768 |
请问ng上如何强制指定host? 能否给个示例参考一下? 謝謝 |
proxy_set_header Host $host; |
问题现象:服务端从1.8.7升级到1.8.10后(配置不变动),客户端(clash)访问服务端ng响应404(使用ws),降级回到1.8.7版本后正常。日志中没有其他报错。
服务端配置:
The text was updated successfully, but these errors were encountered: