PHP棘轮websocket不适用于SSL连接

时间:2017-07-01 11:43:20

标签: php ssl websocket ratchet

这是我的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://)?

0 个答案:

没有答案