要使用 Nginx 代理 WebSocket 服务,你可以按照以下步骤进行设置:
确保已经安装了 Nginx,并且已经启动。
编辑 Nginx 的配置文件。通常位于
/etc/nginx/nginx.conf
或者/etc/nginx/conf.d/default.conf
。在
http
部分添加一个新的服务器块(server block)用于处理 WebSocket 请求。例如:
server {
listen 80;
server_name example.com;
location /websocket {
proxy_pass http://websocket_server;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
在这个例子中,我们监听端口 80
,并将所有以 /websocket
开头的请求转发到后端 WebSocket 服务器。
- 配置
proxy_pass
参数指向实际的 WebSocket 后端服务器地址。可以是 IP 地址加端口号或者域名。例如:
proxy_pass http://127.0.0.1:8080;
添加
proxy_http_version
,proxy_set_header Upgrade
, 和proxy_set_header Connection
这三行配置。这些配置用于告诉 Nginx 将 HTTP 协议升级为 WebSocket 协议,并保持长连接。保存并退出配置文件,然后重新加载 Nginx 配置使其生效:
sudo service nginx reload
现在,Nginx 应该已经配置好了代理 WebSocket 服务。当客户端发起 WebSocket 连接时,Nginx 将会转发请求到后端服务器并建立连接。
内容由零声教学AI助手提供,问题来源于学员提问