Деформирующий храповик с туннелем

У меня есть хранимый сервер webSocket, и он работает хорошо. проблема в том, что некоторые соединения закрываются сразу после рукопожатия.

после поиска в stackOverflow и в Google я обнаружил, что должен использовать wss, потому что использование ssl предотвратит закрытие соединений. после дополнительного чтения я обнаружил, что wss еще не реализован в храповике, и что решение состоит в том, чтобы деформировать храповик с помощью stunnel. Я снова искал помощь о том, как реализовать это, но не нашел.

как я могу деформировать трещотку с stunnel? Есть ли лучший способ решить эту проблему? Я действительно новичок, будет все проблемы ssl.

Спасибо!

1 ответ

Решение

Настройте веб-сокет с храповым механизмом для приема только локальных подключений:

$webSock = new Server($loop);
$webSock->listen(8080, '127.0.0.1'); // local connections only
$session = $this->getContainer()->get('session.provider');
$server = new IoServer(new WsServer($session), $webSock, $loop);

Создайте сертификат сервера. Хорошие инструкции для Ubuntu здесь.

Теперь установите stunnel. Инструкции Ubuntu здесь.

Сконфигурируйте stunnel для использования нового сертификата и принятия соединений через безопасный порт и туннелирования их на ваш сервер веб-сокетов:

cert = /etc/ssl/certs/server.crt
key = /etc/ssl/private/server.key
...
[websockets]
accept = 8443
connect = 8080

Начните stunnel, и вы должны отправиться на гонки.

Другие вопросы по тегам