gpt4 book ai didi

nginx websocket反向代理配置

转载 作者:行者123 更新时间:2023-12-04 18:26:33 26 4
gpt4 key购买 nike

嗨,我正在尝试将 nginx 配置为 websockets 的反向代理。我配置我的服务器如下:

server {
listen 80;
server_name www.mydomain.com;

access_log off;
#error_log off;

location / {
proxy_pass http://127.0.0.1:8765;
proxy_redirect off;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;

proxy_buffering off;
}

}

但我从客户端收到如下错误

与“ws://www.application.com/ws”的 WebSocket 连接失败:WebSocket 握手期间出错:“连接” header 值不是“升级”

我可能做错了一些配置,但我看不到它。

客户端的请求 header 如下
GET ws://www.talkybee.com/ws HTTP/1.1
Pragma: no-cache
Origin: http://www.talkybee.com
Host: www.talkybee.com
Sec-WebSocket-Key: Ol+O1IdaLEsHxxWRBt2oqg==
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36
Upgrade: websocket
Sec-WebSocket-Extensions: x-webkit-deflate-frame
Cache-Control: no-cache
Connection: Upgrade
Sec-WebSocket-Version: 13

当我进行正常的直接连接时,我的连接正常工作。这是工作请求 header 。
Cache-Control:no-cache
Connection:Upgrade
Host:www.talkybee.com:8765
Origin:http://www.talkybee.com:8765
Pragma:no-cache
Sec-WebSocket-Extensions:x-webkit-deflate-frame
Sec-WebSocket-Key:Y026b/84aUkMxVb0MaKE2A==
Sec-WebSocket-Version:13
Upgrade:websocket
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36

最佳答案

此问题与 nginx 版本有关。请检查 nginx -v,以检查您的版本。
之后支持以下参数1.4 版本。

 # WebSocket support (nginx 1.4)
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

如果您使用的是 ubuntu,则可以通过以下步骤安装较新版本:

首先删除旧版本( https://askubuntu.com/questions/235347/what-is-the-best-way-to-uninstall-nginx ):
sudo apt-get remove nginx
sudo apt-get purge nginx
sudo apt-get autoremove

然后安装一个新版本( https://launchpad.net/~nginx/+archive/development ):
sudo add-apt-repository ppa:nginx/development
sudo apt-get update
sudo apt-get install nginx

关于nginx websocket反向代理配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17427303/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com