我正在配置Nginx将传入的Web Socket请求重定向到两个不同的服务器,但每次我都得到404。
我在/etc/nginx/conf.d/文件夹中的loadbalancer.conf文件中的Nginx配置如下所示:
upstream websocket {
server localhost:5050; //web socket server1 running here
server localhost:8080; //web socket server2 running here
}
server {
listen 4141;
server_name localhost:4141;
location / {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header Connection "upgrade";
}
}
字符串
当我直接访问Web Socket服务器时(URL:ws://localhost:8080/app/socket/user 1),则请求工作正常,但当我通过Nginx(URL:ws://localhost:4141/app/socket/user 1),则请求不会传递到任何Web Socket服务器。
更新:
1.我已经尝试将proxy_pass设置直接更改为server 1(localhost:5050),但请求也无法通过。
- Nginx访问日志显示以下错误:
- 1 - - [2023年1月9日:10:57:07 + 0530]“GET /应用程序/套接字/用户1 HTTP/1.1”404 197“-”“Mozilla/5.0(X11; Linux x86_64)苹果网络工具包/537.36(KHTML,像壁虎一样)Chrome浏览器/89.0.4389.90 Safari浏览器/537.36”
有人能回答吗
1.配置出了什么问题?
- Nginx是否提供更详细的日志,我可以在哪里查看?
1条答案
按热度按时间brjng4g31#
可以使用ip_hash配置nginx up_stream blo
字符串