apache ssl配置问题

oulaiya

2000 2 0
2个回答

blogdaren

说明有客户端使用了非https或wss的协议在连接服务端, 换句话:两端通信协议必须一致。

  • 暂无评论
oulaiya

服务端代码

$context = array(
    'ssl' => array(
        'local_cert'                 => '/www/server/panel/vhost/cert/xcx.youyingkeji12388.com/fullchain.pem',
        'local_pk'                   => '/www/server/panel/vhost/cert/xcx.youyingkeji12388.com/privkey.pem',
        'verify_peer'                => false,
    )
);
$worker = new Worker('websocket://0.0.0.0:8282',$context);
$worker->transport = 'ssl';

apache ssl配置

ProxyRequests Off
ProxyPass /wss ws://127.0.0.1:8282
ProxyPassReverse /wss ws://127.0.0.1:8282

客户端

socket.connect('wss://xcx.huke.com/wss');
  • blogdaren 2019-12-06

    1、配置看上去没什么问题,但是访问8282端口的客户端不一定是你提供的这个客户端,换句话:确认下是否还有其它的客户端在直连8282端口;
    2、正常的按照你这种架构,8282端口应该有某种防火墙策略才对;

  • oulaiya 2019-12-06

    没有其它客户端 只有apache代理这个端口。按照文档配置就出现这种情况

  • blogdaren 2019-12-06

    刚看错了, workerman部分不能再次设置 ssl , 即: 去掉 $worker->transport = 'ssl';

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