@psiklop

Вебсокеты на https?

Доброго времени!
Подскажите, как настроить вебсокеты на https

Вот читал эту статью, сделал чат, все работало, потом надо было перенести чат на сайт с https, перенес внес некоторые изменения, нашел в сети какие, но не работает на этапе, где надо читать из соединения, и найти уже что делать не могу

$context = stream_context_create();
stream_context_set_option($context, 'ssl', 'local_cert', "/etc/letsencrypt/live/папка/cert.pem");
stream_context_set_option($context, 'ssl', 'local_pk', "/etc/letsencrypt/live/папка/privkey.pem");
stream_context_set_option($context, 'ssl', 'ciphers', 'ALL');
stream_context_set_option($context, 'ssl', 'verify_peer', false);
stream_context_set_option($context, 'ssl', 'verify_peer_name', false);
$socket = stream_socket_server("ssl://".$ipsocket, $errno, $errstr, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);

while (true) {

    $read = $connects;
    $read[] = $socket;
    $write = $except = null;

    if (!stream_select($read, $write, $except, null)) {break;}

    if (in_array($socket, $read)) {//есть новое соединение
        //принимаем новое соединение и производим рукопожатие:
        if (($connect = stream_socket_accept($socket, -1)) && $info = handshake($connect)) {

тут пропущено

function handshake($connect) {
$line = fread($connect, 1500);

тут ошибка PHP Warning: fread(): SSL: Connection reset by peer
  • Вопрос задан
  • 592 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Erelecano
Админю сервера, починяю примуса.
Принимайте https на nginx и проксируйте к тому кто у вас там этот ваш чат держит. Будут ваши волосы чистыми и шелковистыми.
Ответ написан
@Levhav
Возьмусь за разработку проектов любой сложности.
Ищите "как настроить реверс прокси" такая возможность и у апача и у nginx и он будет расшифровывать трафик и направлять к вам уже по http сам сначала хотел реализовать в своём проекте поддержку https промучился больше месяца (проект был на C++) плюнул и вот уже 3 года с реверспрокси горя не знаю.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы