Nginx 配置 webSocket
时间: 2024-03-14 11:48:36 浏览: 70
要配置 Nginx 支持 WebSocket,需要在 Nginx 配置文件中添加以下内容:
```
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
server_name your_domain.com;
location / {
proxy_pass http://your_upstream_server;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 86400;
}
location /ws {
proxy_pass http://your_websocket_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
}
}
```
以上配置文件将 HTTP 请求转发到 `your_upstream_server`,WebSocket 请求转发到 `your_websocket_server`。其中,`$http_upgrade` 和 `$connection_upgrade` 变量的作用是判断是否需要升级为 WebSocket。`proxy_set_header` 指令用于设置请求头信息,`proxy_read_timeout` 指令用于设置 Nginx 与后端服务的超时时间。
如果你的 WebSocket 服务和 HTTP 服务都在同一台服务器上,可以将 `your_websocket_server` 改为 `127.0.0.1:port`,其中 `port` 是 WebSocket 服务监听的端口号。
阅读全文