线上websocket访问404

之前线上一直运行没有问题,突然出现访问404,一直没有排查到问题,后面知道是友商加了一层防火墙导致配置失效了。
之前的配置:

点击查看代码
location /test {
	proxy_pass http://yxb-web-api/web-api/ws/websocket;
	proxy_connect_timeout 600s;
	proxy_send_timeout 600s;
	proxy_http_version 1.1;
	proxy_set_header Upgrade $http_upgrade;
	proxy_set_header connection "Upgrade";
	proxy_set_header X-real-ip $remote_addr;
	proxy_set_header X-Forwarded-For $remote_addr;
	proxy_redirect off;
}

现在的配置:

点击查看代码
location /ws {
    proxy_pass http://yxb-web-api;

    # 把 /ws 重写成 /web-api/ws/websocket
    rewrite ^/ws/?$ /web-api/ws/websocket break;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_read_timeout 600s;
    proxy_send_timeout 600s;
    proxy_buffering off;
}
posted @ 2025-09-12 16:25  浮生醉清风_QQ  阅读(11)  评论(0)    收藏  举报