想使用nginx反向代理websocket,如果proxy_pass的网址是固定的,比如http://10.77.139.52:8989,就没有问题。
但是需求是动态代理,所以想尝试一下set变量后再代理,但是尝试了很多次发现这样无法建立websocket链接。是完全没有尝试建立连接,而不是连接被拒。
nginx配置如下,对nginx源码不太了解,不清楚使用set后有什么不同,求各位大神指教~~
location /proxy/ {
set $url 10.77.139.52;
proxy_pass http://$url:8989/;
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 86400;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
#auth_request /api.php;
#auth_request_set $url $sent_http_url;
}