javascript sockets ssl websocket ratchet

javascript - Fallido: Error en el establecimiento de la conexión: net:: ERR_CONNECTION_REFUSED



sockets ssl (3)

CONNECTION_REFUSED es estándar cuando el puerto está cerrado, pero podría rechazarse porque SSL está fallando la autenticación (uno de los mil millones de razones). ¿Has configurado SSL con Ratchet? (Apache se omite) ¿Intentó sin SSL en JavaScript?

No creo que Ratchet tenga soporte integrado para SSL. Pero incluso si lo hace, primero querrá probar el protocolo ws: //; es mucho más simple, más fácil de depurar y más cerca de telnet. Chrome o el servicio de socket también pueden estar generando el error REFUSED si el servicio no es compatible con SSL (porque solicitó SSL explícitamente).

Sin embargo, es probable que el mensaje rechazado sea un problema del lado del servidor (generalmente, el puerto está cerrado).

Intento conectarme con el socket a mi servidor. Mi servidor ejecuta el socket del servidor con Rachet en el puerto 8080. Intento ejecutar este código:

<script> try{ conn = new WebSocket(''wss://localhost:8080''); conn.onclose = function (e) { //checkUser(); } conn.onopen = function(e) { console.log("test"); }; }catch (error) { console.log(error); } </script>

Pero me sale este error:

WebSocket connection to ''wss://localhost:8080/'' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED

Cuando trato de conectarme desde mi shell de linux, obtengo esto:

root@(none):~# telnet localhost 8080 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is ''^]''.


En mi caso, la respuesta es bastante simple. Verifique cuidadosamente el puerto url codificado: es 8080. Por algún motivo, el valor ha cambiado a: por ejemplo 3030.

Simplemente actualice el puerto en su secuencia de url ajax al apropiado.

conn = new WebSocket(''ws://localhost:3030''); //should solve the issue


En primer lugar, probaría una conexión de websocket no segura. Por lo tanto, elimine una de las s de la dirección de conexión:

conn = new WebSocket(''ws://localhost:8080'');

Si eso no funciona, lo siguiente que comprobaré es la configuración del servidor de seguridad del servidor. Necesita abrir el puerto 8080 tanto en TCP_IN como en TCP_OUT .