Как подключить PHP websocket-клиент к node js-серверу с SSL?
Есть задача, подключить php-клиента к серверу на node.js (использует socket io + SSL) Если разворачиваю nodejs сервер локально (копирую скрипт с рабочего сервера), то через ElephantIO- все проходит гладко, однако к удаленному серверу он не подключается. Сервак nodejs рабочий, так как с javascript и python удалось сделать коннект, но с PHP не получается. Пробовал библиотеки Ratchet, Textalk, Amp, ElephantIO. Ошибки, как правило +- одинаковые. failed during TLS handshake: SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed, - это первая ошибка. Удалось ее пройти, добавив 'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
(точное написание зависит от конкретной библиотки, но суть одна), после чего вылетает такая ошибка - Could not connect: Connection closed before handshake (Ratchet, у остальных либ +- что-то похожее) и вот на этом этапе непонятно, что делать. Пробовали headers прокидывать (брали заголовки из рабочего JS-подключения, искали в интернете - все без толку), handshake остается. Есть ли реальный рабочий пример подключения PHP-клиента к серверу Node JS? В сервере проблем точно нет, так как с JS и Python - подключение нормальное. В какую сторону вообще искать? Информации перелопатили кучу, ни одно решение не помогло.
Дмитрий, глянул еще раз, мы уточню, что мы используем PM2 для работы сокета. Подскажите, я правильно понимаю, что pm2 logs дает исчерпывающую информацию по логам. Либо нужно что-то можно сделать еще для получения информации о том, что происходит в момент подключения скрипта PHP?
Андрей Провоторов, я не глубокий спец по pm2 или node и по этому не скажу дает ли pm2 logs исчерпывающую информацию. Но это можно ведь легко проверить - запустить ваш вебсокет сервер рядом без пм на другом порту и с DEBUG=* и посмотреть больше ли там инфы.