有人使用 WSS 成功获得了与 NGINX 一起使用的 phpratchet 库吗?我真的很挣扎。我的棘轮服务器在端口 8081 上运行。我可以确认套接字服务器正在侦听端口 8081,并且我可以使用 ws 协议进行连接,没有任何问题。
var conn = new WebSocket('ws://connect.mydomain.net:8081');
现在要配置 WSS 并让 NGINX 代理它,我有以下 NGINX 配置
map $http_upgrade $connection_upgrade {
default Upgrade;
'' close;
}
upstream socket{
server localhost:8081;
#server connect.mydomain.net:8081;
}
location /ws/ {
#proxy_pass "http://socket";
proxy_pass "https://connect.mydomain.net:8081";
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_redirect off;
proxy_send_timeout 86400s;
keepalive_timeout 86400s;
proxy_buffers 8 32k;
proxy_buffer_size 64k;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
reset_timedout_connection on;
}
但是当我尝试使用
连接时var conn = new WebSocket('wss://connect.mydomain.net/ws/');
我失败了:WebSocket 握手期间出错:意外的响应代码:502
任何人都可以直接强调我可能做错的事情吗?
谢谢
就我而言,问题是 SELinux 不允许出站连接
运行以下命令解决了我的问题...
setsebool -P httpd_can_network_connect 1
似乎是一件显而易见的事情,所有关于她的类似问题的文档似乎都忽略了