
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等)。