Время ожидания открытия WebSocket истекло php Ratxet websocket

Я создаю свой первый вебсокет, он работает локально с ws, сейчас я загрузил его на сервер и загрузил все файлы и выполнил вебсокет из ssh.

И я получаю эту ошибку: время ожидания открытия WebSocket истекло

Я попытался добавить эту строку в httpd.conf

ProxyPass /wss2/ ws://xxxxxxx:12345/

но все еще не работает.

var conn = new WebSocket('wss://xxxxxxxxx:12345');

        conn.onopen = function(e) {
            console.log("Connection established!");
            conn.send(
                JSON.stringify({
                    'type':'socket',
                    'id':'<?php echo $this->session->id; ?>'
                })
            );
        };

Это консольная ошибка, которую я получаю:

dashboard:430 WebSocket connection to 'wss://xxxxxxxxxx:12345/' failed: WebSocket opening handshake timed out

person Alex Alberich    schedule 15.08.2019    source источник
comment
Этот порт разрешен? В смысле открыл?   -  person ReynierPM    schedule 15.08.2019
comment
@ReynierPM, чтобы быть уверенным, что это не так, я изменил его на 8080, все та же проблема.   -  person Alex Alberich    schedule 15.08.2019
comment
Проверьте этот stackoverflow. ком/вопросы/30732269/   -  person ReynierPM    schedule 15.08.2019


Ответы (2)


Я решил это,

Сначала я изменил порт на 8080 (я не думаю, что это было необходимо).

Изменено URL-адрес соединения на:

wss://xxxxxxxxx/wss2/:8080

(Потому что ProxyPass)

И это работает.

person Alex Alberich    schedule 21.08.2019

Если вы используете веб-сервер Apache (2.4 или выше), включите эти модули в файле httpd.conf.

  1. mod_proxy.so
  2. mod_proxy_wstunnel.so

Если вы не знаете, как включить, используйте команды ниже

  • sudo a2enmod proxy_wstunnel
  • sudo a2enmod прокси

Затем добавьте этот параметр в файл httpd.conf.

ProxyPass /wss2/ ws://ratchet.mydomain.org:8888/

Используйте этот URL-адрес в своем вызове JavaSscript, если вам нужно подключение WSS:

var ws = new WebSocket("wss://ratchet.mydomain.org/wss2/NNN");

Перезапустите веб-сервер Apache и убедитесь, что ваш рабочий Ratchet (подключение через веб-сокет) открыт перед применением настроек (порт имени хоста telnet).

person Optimaz ID    schedule 23.04.2020