一个域名同时支持HTTP和WS
2025-06-08 20:38:45
nginx伪静态配置如下
location ^~ / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
# 关键:根据 Upgrade 头区分 HTTP 和 WS
proxy_set_header Connection $http_connection;
# 默认转发到 HTTP 端口(8787)
proxy_pass http://127.0.0.1:8080;
# 当检测到 WebSocket 升级请求时,转发到 WS 端口(7272)
if ($http_upgrade = "websocket") {
proxy_pass http://127.0.0.1:7070;
}
}