我有一臺服務器,客戶機連接到該服務器。最近我決定使用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