使用gatewayWorker搭建wss服务,Firefox能够正常访问,chrome无法连接

wulixiao

使用最新的gateway创建wss服务,查看了下,workerman版本是3.3.9。搭建完毕后,火狐能够正常访问,显示如下:
图片

但是chrome一直提示:failed: WebSocket opening handshake was canceled 。我打印了下日志,发现chrome进去在访问完onConnect方法后立刻访问了onClose方法。以下截图是chrome打开页面,Firefox中控制台的信息:
图片

不知道有没有人碰上过同样的问题。以下是我在gateway的start_gateway.php中的配置:

$context = array(
    'ssl' => array(
        'local_cert' => '/var/www/html/gateway_worker/ssl/214011751810206.pem', // 或者crt文件
        'local_pk'   => '/var/www/html/gateway_worker/ssl/214011751810206.key',
    )
);
$gateway = new Gateway("websocket://0.0.0.0:8282",$context);
$gateway->transport = 'ssl';

证书没有问题,访问也是通过域名进行访问,同时防火墙也没有开启

6132 3 0
3个回答

wulixiao

刚通过nginx代理访问,chrome和Firefox都能够正常访问。

  • 暂无评论
walkor

证书是申请的还是自己生成的?如果是申请的,是哪里申请的?

  • 暂无评论
walkor
$context = array(
    'ssl' => array(
        'local_cert'    => '/var/www/html/gateway_worker/ssl/214011751810206.pem', // 或者crt文件
        'local_pk'      => '/var/www/html/gateway_worker/ssl/214011751810206.key',
        'verify_peer' => false,
    )
);

试下

  • wulixiao 2017-02-20

    可以了。我搜了下,这个参数是用来开启是否验证 SSL 证书。代表我的证书有问题么?
    证书是阿里云上申请的GeoTrust的泛域名证书,该证书在apache上能正常启用https服务。同时,用nginx做代理开启wss也是可以的

  • wulixiao 2017-02-20

    'verify_peer' => true后,Firefox和chrome都不能访问了。

  • walkor 2017-02-20

    verify_peer => false

  • wulixiao 2017-02-21

    @1:verify_peer => false 这样是可以访问的,请问这个参数是什么意义呢?

年代过于久远,无法发表回答
🔝