首先
WebSocket协议不是超文本传输协议。
尽管WebSocket协议确实使用HTTP请求启动了一个新连接,但它会迅速将连接升级为完整的WebSocket (这需要在初始请求中包含Connection: upgrade头,而不是Connection: keep-alive)。
所以,在nginx配置的时候,先对请求进行升级
配置项:
map $http_upgrade $connection_upgrade {
default keep-alive; #默认为keep-alive 可以支持一般http请求
'websocket' upgrade; #如果为websocket 则n为upgrade可升级的。
}
然后再对nginx代理的地址进行配置文章来源:https://www.toymoban.com/news/detail-604109.html
location ^~ /shared_java/ {
proxy_redirect off;
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_set_header Upgrade $http_upgrade;#此处配置 上面定义的变量
proxy_set_header Connection $connection_upgrade;
proxy_pass http://127.0.0.1:8086/;
}
至此,ws和http请求可以同时被nginx代理了文章来源地址https://www.toymoban.com/news/detail-604109.html
到了这里,关于Nginx共同配置WS(WebSocket)和Http的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!