nginx 设置wss
时间: 2024-09-09 18:03:12 浏览: 43
Nginx 是一款流行的开源Web服务器,它也支持处理WebSocket(WSS)协议,这是一种安全版的WebSocket,通过SSL/TLS加密通信。要在 Nginx 中设置 WSS (WebSocket Secure),你需要做以下几个步骤:
1. 安装SSL/TLS证书:首先,你需要有一个有效的 SSL/TLS 证书,可以自签发或从可信证书颁发机构购买。将证书、私钥以及可能需要的 CA 链文件(例如 .crt 和 .key 文件)放置到适当的目录。
2. 配置 Nginx:编辑 Nginx 的配置文件(通常是 `nginx.conf` 或对应站点的 `server block`),添加以下内容:
```nginx
server {
listen 443; # 使用 https 端口
server_name yourdomain.com;
ssl_certificate /path/to/cert.crt;
ssl_certificate_key /path/to/private.key;
ssl_protocols TLSv1.3 TLSv1.2; # 可选,指定使用的SSL版本
location /ws {
proxy_pass http://yourapp:8080; # 指向 WebSocket 服务端的地址
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header Sec-WebSocket-Key $request头Sec-WebSocket-Key;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# 其他常规的HTTPS配置...
}
```
这里,`/ws` 是 WebSocket 路径前缀,可以根据实际应用修改。`proxy_pass` 指令用于将接收到的 WebSocket 请求转发给后端应用(如Node.js或Django等)。
3. 重启 Nginx:保存配置并重启 Nginx 服务,让新的配置生效。
阅读全文