要在 Nginx 中配置 WebSocket 代理(ws 协议),你需要确保 Nginx 的版本至少是1.3.13,因为较早的版本不支持 WebSocket。以下是一个基本的 Nginx 配置示例,用于代理 WebSocket 连接:
http {
upstream websocket_backend {
server your.websocket.server:port;
}
server {
listen 80;
location / {
proxy_pass http://websocket_backend;
# WebSocket 特定的头部设置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
# 解决 WebSocket 可能需要的其他头部
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
配置详解:
- upstream 定义:
upstream websocket_backend
定义了后端服务器池,你的 WebSocket 服务器地址和端口替换your.websocket.server:port
。<