这是我的Ratchet服务器文件
<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use ChatWebSocket\Application;
require 'Application.php';
require __DIR__ . '/vendor/autoload.php';
$server = IoServer::factory(
new HttpServer(
new WsServer(
new Application()
)
),
2020
);
$server->run();
这是客户端使用WS Javascript连接
(function(){
var conn = new WebSocket('wss://mydomain.net:2020');
conn.onopen = function(e) {
console.log("Connection OK!");
};
conn.onmessage = function(e) {
var res = JSON.parse(e.data);
alert(res);
};
})();
当我关闭SSL模式(http:// connect)并使用ws://mydomain.net:2020
时,服务器工作正常!
当我打开SSL模式时,使用wss://mydomain.net:2020
连接到服务器,使用https://
转到客户端网站,然后我从控制台收到此错误
WebSocket connection to 'wss://mydomain.net:2020/' failed: WebSocket opening handshake timed out
我尝试将此设置添加到我的httpd.conf
文件
ProxyPass /wss2/ ws://mydomain.net:2020/
但是我得到了同样的错误。
我该如何修复此错误?如何使用SSL连接websocket(https://)?