配置 “$connection_upgrade” 变量
连接升级通常与 WebSockets 结合使用。 在 nginx 中,我们可以根据 $http_upgrade 变量将 HTTP 连接升级为 WebSocket 连接。
我们可以使用 map 块在 nginx 中定义连接和 http 升级之间的依赖关系:
vim nginx.conf
map $http_upgrade $connection_upgrade {
default upgrade;
' ' close;
}
如果 Upgrade 标头设置为 ‘’,此 map 块告诉 nginx 正确设置相关的 Connection 标头来关闭连接。
将 map 块放入 nginx 配置的 http 块中。 nginx 配置的默认文件路径是 /etc/nginx/nginx.conf 。
————————————————
cat abcd.hkml.com.conf
map $http_upgrade $connection_upgrade {
default upgrade;
' ' close;
}
server {
listen 443 ;
server_name abcd.hkml.com;
ssl_certificate /etc/nginx/ssl/abcd.hkml.com.pem;
ssl_certificate_key /etc/nginx/ssl/abcd.hkml.com.key;
#ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location ~^/webSocket{
proxy_pass http://172.1.1.10:9099;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_read_timeout 3600s;
proxy_connect_timeout 86400;
proxy_ignore_client_abort on;
}
}
标签:upgrade,HTTP,ssl,nginx,proxy,http,连接 From: https://www.cnblogs.com/walkersss/p/17563824.html