我的CentOS 7+ CWP面板配置为:
Nginx和Apache附加选项:php/suphp,Nginx /php,Apache /php,代理HTTP: Nginx (80) -> Apache (8181) HTTPS: Nginx (443) ->Apache (8181)
我希望运行一个使用localhost地址0.0.0.0:8282进行通信的WebSocket应用程序,因此我已经在每次启动服务器时使用命令运行cron作业来运行聊天服务器WebSocket应用程序:
PHP index.php chatserver server在SSH控制台中,我可以看到服务器运行时没有任何问题:
在主机上运行服务器0.0.0.0:8282
但是在浏览器客户端,我可以看到这样一个错误:
到'wss://.:8282/?‘的
WebSocket连接失败:连接建立中的错误: net::ERR_CONNECTION_REFUSED socket.js?v=** WebSocket连接失败:连接建立中的错误: net::ERR_CONNECTION_REFUSED
看起来Nginx不允许在端口8282上传递套接字连接。请帮助我更改在SSL上工作的特定域的Nginx配置文件,以成功地建立到端口8282的WebSocket连接,并连接到本地主机聊天服务器。我会感谢你的帮助。
发布于 2021-05-29 17:22:22
错误指示websocket无法通过端口8282连接,您需要为此设置一个TLS证书,因为WebRTC需要安全连接。
我相信你的问题的答案在这里- How to Create Secure(TLS/SSL) Websocket Server
发布于 2022-08-05 21:03:47
我找到了一种使用nginx和CWP将服务器的websocket端口重定向到端口80 (或wss到443)的方法。
在vhosts文件(WebServers conf.d>/etc/nginx/ conf .d/vhost/ tab)上,您应该定位位置/{. }部件。
将整个位置/{…}部件替换为:
location / {
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 X-Forwarded-Proto $scheme;
proxy_pass_request_headers on;
proxy_pass http://YOUR_SERVER_IP:WEBSOCKET_PORT;
proxy_http_version 1.0;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}您只应该用各自的信息更改YOUR_SERVER_IP和WEBSOCKET_PORT部件。剩下的留在原处吧。如果您正在编辑SSL文件,而不是http,则应该使用https。
https://stackoverflow.com/questions/65271241
复制相似问题