Tengo un servidor al que se conecta una máquina cliente. Recientemente decidí encriptar la conexión con stunnel, por lo que ahora el programa de cliente no se conecta directamente al servidor, sino a localhost: 8045 (comprobé, y este puerto no está ocupado).¿Por qué se rechaza la conexión a localhost?
código Java:
URL url = new URL("http://localhost:8045/malibu/GetProviders");
InputStream stream = url.openStream();
y me sale el siguiente:
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:180)
. . .
Si trato de solicitar la misma página utilizando curl
, todo está bien.
¿Qué puede causar tal comportamiento?
EDIT: Sí, hay un socket de escucha - corriendo netstat -avn | grep 8045
da:
tcp6 0 0 ::1:8045 :::* LISTEN
Ha intentado https: // en la URL() –
@Dave: (1) No es así como funciona stunnel. (2) El error es claramente un rechazo de conexión de nivel TCP, no un error de negociación a nivel de aplicación. – cdhowie
Intenta usar tu IP en la URL. – nIKUNJ