nginx配置wss 的websocket失败。

z6033199 2016-12-03 06:03:24
最开始写了一个基于ws的websocket部署到网站上,因为我是自己写的对websocke客户端握手头消息解析,所以对Sec-WebSocket-Key进行了提取并且手动用SHA-1进行了编码回应。这是可以成功的。
但是由于网站访问是https的,所以必须用wss连接。
然而,利用linux服务器A上的nginx转发wss请求到我的windows服务器B后,如果不将linux的443端口所有请求转发,而是指定一个地址。 比如
location /QA/{
proxy_pass http://120.76.XX.XXX:51021;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
我的windows服务器收不到任何消息。
如果设置linux的443端口使用ssl认证后将所有消息转发,我的windows服务器能收到消息,但是头消息中并没有Sec-WebSocket-Key:了。也就不能给客户端回应了。

前端也一直报“failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED”的错。
应该怎么办?
...全文
1974 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼主解决了吗 我也遇到你这个问题饿了

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧