Nginx自从1.3版就支持WebSocket,也可以为WebSocket应用程序做反向代理和负载均衡。Websocket使用ws或wss作为统一资源标志符,类似于HTTP或HTTPS,默认Websocket的ws协议使用80端口;运行在TLS之上时,其中wss表示在 TLS 之上的 Websocket,相当于HTTPS。wss协议默认使用443端口。wss就是ws基于SSL的安全传输。本文地址:http://www.04007.cn/article/1114.html,未经许可,不得转载.
Nginx配置域名支持WSS只需要添加Upgrade两行配置即可,如下:本文地址:http://www.04007.cn/article/1114.html,未经许可,不得转载.
location /uri { proxy_pass http://127.0.0.1; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }WebSocket一种在单个TCP连接上进行全双工通讯、允许服务端主动向客户端推送数据的协议。在WebSocket API中,客户端和服务器端只需要一次握手就可以创建持久性连接,并进行双向数据传输。WebSocket虽然和HTTP是两种不同的协议,但WebSocket和HTTP的握手机制是一样的,它使用HTTP中的Upgrade协议头将连接从HTTP升级到WebSocket,客户端发过来一个Connection: Upgrade请求头时,Nginx代理服务器拦需要显式来设置Connection、Upgrade头信息,并使用 101(交换协议)返回响应,在客户端和代理服务器、后端服务器之间建立隧道来支持 WebSocket。WebSockets仍然受到Nginx缺省60秒的proxy_read_timeout 的影响。因此如果你有程序使用WebSockets且可能超过60秒不发送任何数据时,就需要增加超时时间设置,也可以实现一个定时ping的机制保持连接。本文地址:http://www.04007.cn/article/1114.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1114.html,未经许可,不得转载.
本文地址:http://www.04007.cn/article/1114.html 未经许可,不得转载. 手机访问本页请扫描右下方二维码.
![]() |
![]() |
手机扫码直接打开本页面 |