一个域名同时支持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;
    }
  }
本文为"鸡肉"原创文章,转载无需和我联系,但请注明来自鸡肉
您的浏览器不支持canvas标签,请您更换浏览器