У меня проблема с HTTPS => WS-коммуникацией, и я не могу найти способ ее решить.
Я использую Symfony 4.1 и Ratchet WsServer. Сервер запускается с помощью команды Symfony на порту 9090 и корректно работает с ws на локальной машине с http. Конечно, по https я переключил его на wss и получил эту ошибку:
Соединение WebSocket с 'wss: // servername: 9090 /' не удалось: истекло время ожидания открытия WebSocket
Код моего конца:
protected function execute(InputInterface $input, OutputInterface $output)
{
$server = IoServer::factory(new HttpServer(
new WsServer(
new Widget($this->getContainer(), $this->logger)
)
), 9090);
$server->run();
}
Может быть, кто-нибудь знает, как это решить. Я видел несколько руководств по настройке nginx и apache в тех же ситуациях, но я не уверен, потому что в этом случае сервер запускается из PHP и Symfony.
Еще один интересный момент: я пытаюсь подключиться через браузер к WSS, я получаю ту же ошибку. Похоже, проблема не в сертификате, а в сервере.