目录
一、WS 和 WSS 的区别
WebSocket 协议是 软件系统开发定制的一种通信协议,软件系统开发定制可以使客户端和服务端双向数据传输更加简单快捷,并且在 TCP 连接进行一次握手后,就可以持久性连接,同时允许服务端对客户端推送数据。
WS 协议和 WSS 协议均是 WebSocket 协议的 SCHEM。也是统⼀的资源标志符。WS是非安全的,没有证书;WSS是安全的,需要证书。
WS 一般默认是 80 端口,而 WSS 默认是 443 端口,大多数网站用的就是 80 和 433 端口。
http 协议下使用 WS,在 https 协议下使用 WSS。
WebSocket协议的特点:
-
建立在 TCP 协议之上,服务端实现容易;
-
与 HTTP 协议有良好的兼容性,握手时不容易被屏蔽,可以通过各种 HTTP 代理服务器;
-
数据轻量,实时通讯;
-
可以发送文本和二进制数据;
-
不限制同源,客户端可以与任意服务器端进行通讯。
二、 下配置 WS
# WS 配置server { listen 8088; location / { proxy_pass http://localhost:8088; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
三、Nginx 下配置 WSS
# WSS 配置server { listen 443 ssl; server_name im-wss-api.xxx.xxx; ssl_certificate ../cert/server.crt; ssl_certificate_key ../cert/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:8088; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18