nginx代理websocket
1仅乓、非默認端口情況下。協議頭Host需帶上端口proxy_set_header Host $host:$server_port;
1左刽、streamlit要求協議頭Origin咳蔚、Host一致(注:兩者格式不同)。
2舷礼、協議版本要求proxy_http_version 1.1;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 10.10.18.178:8501;
server_name _;
location / {
proxy_pass http://10.10.18.178:8501/;
proxy_http_version 1.1;
proxy_set_header Host www.example.com:$server_port;
proxy_set_header Origin http://www.example.com:$server_port; # streamlit要求
proxy_set_header x-forwarded-proto $scheme;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}