We've set up a secure socket server, which was working before securing it with SecureServer. Running the php script succeeds but when trying to connect from application, the browser throws a SSL_ERROR_NO_CYPHER_OVERLAP error.
Probably something is wrong in our php script. does someone know how to tackle this?
Code we have:
$webServer = new Ratchet\Server\IoServer(
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
),
new React\Socket\SecureServer(
$webSock,
$loop,
array(
'local_cert' => 'xxx',
'allow_self_signed' => true,
'verify_peer' => false,
// Not sure what to put in ciphers ??
'ciphers' => 'EECDH+AES:EDH+AES:-SHA1:EECDH+AES256:EDH+AES256:AES256-SHA:!aNULL:!eNULL:!EXP:!LOW:!MD5:!RC4:!MEDIUM'
)
)
);
Some articles suggest of fiddling with browser configs, but the connection should be available to all visitors.. (without the fiddling)
EDIT: We used SecureServer at the wrong place, added answer with corrected code.
Using React\Socket\SecureServer with Ratchet:
// Set up secure React server
$webSock = new React\Socket\SecureServer(
new React\Socket\Server($loop),
$loop,
array(
'local_cert' => 'xxxx/combined.pem',
//'allow_self_signed' => true,
'verify_peer' => false
)
);
$webSock->listen(8080, '0.0.0.0'); // Binding to 0.0.0.0 means remotes can connect (127.0.0.1 || 0.0.0.0)
// Ratchet magic
$webServer = new Ratchet\Server\IoServer(
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
),
$webSock
);