WebSocket 打开握手超时 php Ratxet websocket
WebSocket opening handshake timed out php Ratxet websocket
我正在创建我的第一个 websocket,它在本地与 ws 一起工作,现在我将它上传到服务器并上传所有文件并从 ssh 执行 websocket。
我收到此错误:WebSocket 打开握手超时
我尝试将此行添加到 httpd.conf
ProxyPass /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
我解决了这个,
首先我将端口更改为 8080,(我认为没有必要。)
将 url 连接更改为:
wss://xxxxxxxxx/wss2/:8080
('因为 ProxyPass)
而且有效。
如果您使用的是 Apache 网络服务器(2.4 或更高版本),请在 httpd.conf 文件
中启用这些模块
如果您不知道如何启用,请使用以下命令
- sudo a2enmod proxy_wstunnel
- sudo a2enmod 代理
然后将此设置添加到您的 httpd.conf 文件
ProxyPass /wss2/ ws://ratchet.mydomain.org:8888/
当您需要 WSS 连接时,请在您的 JavaSscript 调用中使用此 URL:
var ws = new WebSocket("wss://ratchet.mydomain.org/wss2/NNN");
重新启动 Apache 网络服务器并确保您的 Ratchet worker(网络套接字连接)在应用设置(telnet 主机名端口)之前已打开。
我正在创建我的第一个 websocket,它在本地与 ws 一起工作,现在我将它上传到服务器并上传所有文件并从 ssh 执行 websocket。
我收到此错误:WebSocket 打开握手超时
我尝试将此行添加到 httpd.conf
ProxyPass /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
我解决了这个,
首先我将端口更改为 8080,(我认为没有必要。)
将 url 连接更改为:
wss://xxxxxxxxx/wss2/:8080
('因为 ProxyPass)
而且有效。
如果您使用的是 Apache 网络服务器(2.4 或更高版本),请在 httpd.conf 文件
中启用这些模块如果您不知道如何启用,请使用以下命令
- sudo a2enmod proxy_wstunnel
- sudo a2enmod 代理
然后将此设置添加到您的 httpd.conf 文件
ProxyPass /wss2/ ws://ratchet.mydomain.org:8888/
当您需要 WSS 连接时,请在您的 JavaSscript 调用中使用此 URL:
var ws = new WebSocket("wss://ratchet.mydomain.org/wss2/NNN");
重新启动 Apache 网络服务器并确保您的 Ratchet worker(网络套接字连接)在应用设置(telnet 主机名端口)之前已打开。