我正在创建我的第一个 websocket,它在本地使用 ws,现在我将它上传到服务器并上传所有文件并从 ssh 执行 websocket。我收到此错误:WebSocket 打开握手超时我尝试将此行添加到 httpd.confProxyPass /wss2/ ws://xxxxxxx:12345/但仍然不起作用。var conn = new WebSocket('wss://xxxxxxxxx:12345'); conn.onopen = function(e) { console.log("Connection established!"); conn.send( JSON.stringify({ 'type':'socket', 'id':'<?php echo $this->session->id; ?>' }) ); };这是我得到的控制台错误:dashboard:430 WebSocket connection to 'wss://xxxxxxxxxx:12345/' failed: WebSocket opening handshake timed out
2 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
如果您使用的是 Apache Web 服务器(2.4 或更高版本),请在 httpd.conf 文件中启用这些模块
如果您不知道如何启用,请使用以下命令
须藤 a2enmod proxy_wstunnel
须藤 a2enmod 代理
然后将此设置添加到您的 httpd.conf 文件中
ProxyPass /wss2/ ws://ratchet.mydomain.org:8888/
当您需要 WSS 连接时,请在您的 JavaScript 调用中使用此 URL:
var ws = new WebSocket("wss://ratchet.mydomain.org/wss2/NNN");
在应用设置(telnet 主机名端口)之前,重新启动 Apache Web 服务器并确保您的 Ratchet 工作线程(Web 套接字连接)已打开。
叮当猫咪
TA贡献1776条经验 获得超12个赞
我解决了这个,
首先,我将端口更改为 8080,(我认为没有必要。)
将 url 连接更改为:
wss://xxxxxxxxx/wss2/:8080
(因为 ProxyPass)
它有效。
- 2 回答
- 0 关注
- 564 浏览
添加回答
举报
0/150
提交
取消