nginx的现在支持代理的WebSockets,但是我无法找到如何做到这一点的任何信息,而不必适用于在其上使用的WebSockets URI的一个单独的位置块。
我见过一些人推荐这种方法的一些变化:
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://host:port;
}
请问这是正确的方式来代理标准的HTTP以及WebSockets的? 我不希望升级头或连接设置为“升级”,除非这是浏览器发送的内容,但这些proxy_set_header线都需要的WebSockets工作。 为什么不nginx的只是转发原始升级/连接头?
我已经尝试了这一点,并发现Nginx的不代理的升级头和连接头从更改为“关闭”“升级”,如果没有这两个proxy_set_header线运行。 有了它们,连接是对于非WebSocket的要求,这也是不好的“升级”。
谢谢 :)