Не работает подключение к websocket на vds ratchet php

Вообще я тестировал создавая сервер на локальной машине. Я читал документация вот тут. Сейчас мне нужен ratchet websocket для своего проекта. И как обычно у меня блин все не работает.


Вот что я сделал:

  • Купил vds, Ubuntu 22.04.
  • Скачал туда php7.2, apache, zip, composer
  • Создал файл для сайта var/www/mysite
  • ip: http://92.53.120.193/
  • Скачал туда с помощи composerа Ratchet.
  • Создал в var/www/mysite - /bin/chat-server.php, /src/Chat.php.
  • Код идентичен документации.
  • Порт 8080
  • Запустил. Вроде работает ошибок нет.

введите сюда описание изображения


Подключаюсь

Подключаюсь я с помощи javascript, с помощи моего проекта локального. Я не стал подключатся через удаленный сайт, у меня там стоит https, вы ведь понимаете я даже не могу просто осилить сервер создать. А там с https нельзя его без ssl.

var conn = new WebSocket('ws://92.53.120.193:8080');
conn.onopen = function(e) {
    console.log("Connection established!");
};

conn.onmessage = function(e) {
    console.log(e.data);
};

Ошибка

Я не хотел так призентовать ошибку. Потому что она маленькая, но ужасная из-за того что я не понимаю что делать дальше. Она ни чего мне не дает. введите сюда описание изображения


Что с этим делать? Может как то по другому apache настраивать. Или брать не vds а vps? Я много раз... Где то 5 раз точно перезаписывал код и запускал. Я Уматался я серьезно не знаю что делать. Проект уже застоялся я до сих пор не могу сдвинутся. Есть предположения? ЛЮБАЯ помощь принимается. Если есть вопросы задавайте!


Ответы (1 шт):

Автор решения: Hopeyer

В общем то я решил проблему. Я все во лишь поменял порт 8080, на 443, 80, у меня эти 2 порта работают.

Поменял в :

<?php
use Ratchet\Server\IoServer;
use Ratchet\Http\HttpServer;
use Ratchet\WebSocket\WsServer;
use MyApp\Chat;

    require dirname(__DIR__) . '/vendor/autoload.php';

    $server = IoServer::factory(
        new HttpServer(
            new WsServer(
                new Chat()
            )
        ),
        443 // <- тут
    );

    $server->run();
?>

И вот тут:

var conn = new WebSocket("ws://92.53.120.193:443);

Это хоть работает, но не знаю как заставить работать с https. Вообще из-за этого больше вопросов.

→ Ссылка