我对网络套接字代理的nginx文档感到困惑。
从此处的文档:https://nginx.org/en/docs/http/websocket.html
一个更复杂的例子,其中“连接”的值 对代理服务器的请求中的头字段取决于 客户端请求标头中存在“升级”字段:
http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { ... location /chat/ { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
我想要类似的东西,如果预设了Upgrade标头,我想在连接中传递升级,否则我想做相当于proxy_set_header Connection ""
。
如果没有Upgrade标头,我认为文档中的示例正在执行proxy_set_header Connection close
?如果是这样,我如何修改map
来做我想要的。好像我需要proxy_set_header Connection ""
作为
map $http_upgrade $connection_upgrade {
default upgrade;
'' '';
}
但有些事情并不合适。
答案 0 :(得分:0)
配置
map $http_upgrade $connection_upgrade {
default upgrade;
'' '';
}
确实做了我想做的事。