我有一台服务器,客户机连接到该服务器。最近我决定使用stunnel加密连接,所以现在客户端程序不直接连接到服务器,而是连接到localhost:8045(我检查了这个端口没有被占用)。为什么连接到本地主机被拒绝?
Java代码:
URL url = new URL("http://localhost:8045/malibu/GetProviders");
InputStream stream = url.openStream();
,我得到以下几点:
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)
. . .
如果我尝试请求使用curl
同一个页面,一切都很好。
什么会导致此类行为?
编辑:是的,有一个监听套接字 - 运行netstat -avn | grep 8045
给出:
tcp6 0 0 ::1:8045 :::* LISTEN
您是否尝试过https://在URL中() –
@Dave:(1)这不是stunnel的工作原理。 (2)错误显然是TCP级别的连接拒绝,而不是应用程序级别的协商错误。 – cdhowie
尝试在URL中使用您的IP。 – nIKUNJ