Ответы пользователя по тегу WebSocket
  • Почему не работает Workerman для wss соединения?

    @makenow
    В общем мучался-мучался, что я только не пробовал : )) В итоге всё оказалось очень просто: проблема в том, что сертификаты находятся "чертиде" /etc/letsencrypt/live/ и доступа к ним по сути у workerman нет, решение сделать линки на сертификаты и положить эти линки рядом со скриптом запуска.

    пример:
    sudo cp -l /etc/letsencrypt/live/my-domain.com/fullchain.pem /var/www/вашсайт/fullchain.pem

    sudo cp -l /etc/letsencrypt/live/my-domain.com/privkey.pem /var/www/вашсайт/privkey.pem

    и затем подключить

    $context = array(
      'ssl' => array(
        'local_cert'  => __DIR__.'/fullchain.pem',
        'local_pk'    => __DIR__.'/privkey.pem',
        'verify_peer' => false,
      )
    );
    
    // Create a Websocket server
    $ws_worker = new Worker("websocket://0.0.0.0:8084", $context);//0.0.0.0 - значит принимать соединения от любого ip
    $ws_worker->transport = 'ssl';


    и будет счастье :)
    Ответ написан
    2 комментария