## √
map $http_upgrade $connection_upgrade {default upgrade;'' close;
}## √
upstream websocket {server 127.0.0.1:9999 weight=10 max_fails=2 fail_timeout=30s;
}server {listen 8020;gzip on;gzip_min_length 1k;gzip_comp_level 9;gzip_types text/plain application/javascript application/x-javascript text/xml text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;gzip_vary on;gzip_disable "MSIE [1-6]\.(?!.*SV1)";error_page 411 = @my_error;location @my_error {}# 前端静态文件root data;# 代理 websocketlocation /admin/ws {proxy_pass http://websocket/admin/ws;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;proxy_set_header Host $host;}# 代理前端location /api/ {proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;proxy_set_header Host $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;proxy_pass http://websocket;expires 0;proxy_http_version 1.1;}
}
参考
Nginx配置WebSocket反向代理
websocket-nginx