Проблему решил так:
$context = array(
'ssl' => array(
'local_cert' => 'ssl/server.crt',
'local_pk' => 'ssl/server.key',
'verify_peer' => false,
)
);
// Create a Websocket server with ssl context.
$ws_worker = new Worker("websocket://domain.com:2346", $context);
1. В директории со скриптом запуска сервера websocket (start.php) создал папку ssl где создал линки server.crt и server.key к реальным файлам сертификата и прописал путь к ним без __DIR__, через __DIR__ почему-то не работало.
2. В строке js
$ws_worker = new Worker("websocket://domain.com:2346", $context);
прописал доменное имя вместо ip.