请教 Nginx 中配置 WSS 的问题

2017-05-12 18:34:20 +08:00
 fantastM

描述:应用(毕设)部署在本机。我修改了 hosts,将一个域名指向本机。自建证书后,用 Nginx 配置了 HTTPS,也为几个 Tomcat 服务配置了反向代理。

问题:在用到 WebSocket 的时候,经调试使用 WS 协议是可以的,问题出在使用 WSS 协议上。在 StackOverflow 上查了一下,似乎需要配置一个stunnel的玩意,懵比了。。。个人对 Nginx 了解不多,所以请教一下大家为 Nginx 配置 WSS 的经验。

2722 次点击
所在节点    程序员
8 条回复
threedream
2017-05-12 19:49:20 +08:00
毛毛,我占据一楼
wly19960911
2017-05-12 20:06:21 +08:00
wss 不需要额外设置啊,我用的是 spring-Web socket,另外关注下错误代码
wly19960911
2017-05-12 20:09:10 +08:00
@wly19960911 突然记起来有一个设置是 HTTP 头必须设置 Connection:upgrade,但是不像你要描述的,我想不出我在 nginx 上设置了啥
fantastM
2017-05-12 21:04:14 +08:00
@wly19960911 咦,不需要其它配置嘛。我也是用 Spring-WebSocket。我看 Nginx 文档上介绍 WS 配置也是很简单的,愁恼……或许是我姿势不对,明天再试试= =
wql
2017-05-12 21:14:09 +08:00
@fantastM
@wly19960911
如果与后端也是 wss 协议的话要配置:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
wql
2017-05-12 21:14:18 +08:00
eoo
2017-05-13 08:04:06 +08:00
楼上正解
fantastM
2017-05-13 13:08:00 +08:00
@wly19960911 @wql
谢谢两位。Nginx 配置 WS 确实如#5 说的,不过我的问题原来不是 Nginx 的锅,是服务端没有配置跨域,受不了......最后贴一下成功的配置图

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/360938

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX