首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CWP: SSL + WebSocket + Ngnix

CWP: SSL + WebSocket + Ngnix
EN

Stack Overflow用户
提问于 2020-12-13 00:22:06
回答 2查看 459关注 0票数 2

我的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应用程序:

代码语言:javascript
复制
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连接,并连接到本地主机聊天服务器。我会感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-05-29 17:22:22

错误指示websocket无法通过端口8282连接,您需要为此设置一个TLS证书,因为WebRTC需要安全连接。

我相信你的问题的答案在这里- How to Create Secure(TLS/SSL) Websocket Server

票数 0
EN

Stack Overflow用户

发布于 2022-08-05 21:03:47

我找到了一种使用nginx和CWP将服务器的websocket端口重定向到端口80 (或wss到443)的方法。

在vhosts文件(WebServers conf.d>/etc/nginx/ conf .d/vhost/ tab)上,您应该定位位置/{. }部件。

将整个位置/{…}部件替换为:

代码语言:javascript
复制
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_IPWEBSOCKET_PORT部件。剩下的留在原处吧。如果您正在编辑SSL文件,而不是http,则应该使用https

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65271241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档