2013-09-25 43 views
1

我有一個Tomcat實例設置爲偵聽端口80xx。它託管一個REST服務。 我使用WizTools RESTClient 3.2進行了客戶端測試,結果很好。然後,我被要求將服務器的監聽端口切換到993,這個端口通常保留給IMAPS(不要問爲什麼..)。HttpClient不能在端口993上連接?

字面上,唯一改變的設置是連接器端口。現在,RESTClient實現失敗,出現以下異常:

Connection reset 
java.net.SocketException: Connection reset 
at java.net.SocketInputStream.read(Unknown Source) 
at java.net.SocketInputStream.read(Unknown Source) 
at org.apache.http.impl.io.AbstractSessionInputBuffer.fillBuffer(AbstractSessionInputBuffer.java:166) 
at org.apache.http.impl.io.SocketInputBuffer.fillBuffer(SocketInputBuffer.java:90) 
at org.apache.http.impl.io.AbstractSessionInputBuffer.readLine(AbstractSessionInputBuffer.java:281) 
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:92) 
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:62) 
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:254) 
at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:289) 
at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:252) 
at org.apache.http.impl.conn.ManagedClientConnectionImpl.receiveResponseHeader(ManagedClientConnectionImpl.java:191) 
at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:300) 
at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:127) 
at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:715) 
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:520) 
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906) 
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:805) 
at org.wiztools.restclient.HTTPClientRequestExecuter.execute(HTTPClientRequestExecuter.java:387) 
at org.wiztools.restclient.ui.RESTViewImpl$2.run(RESTViewImpl.java:322) 

隨後,表明wgetcurl和改變端口(993)上telnet做工精細,所以它必須是一個HttpClient問題(應用程序中使用)。

有人可以告訴可能是這種行爲的原因......?

+0

但你舒爾是'your'服務器上的993,而不是郵件服務器運行?也許你的服務器簡單不開始(並沉默地去世)。 – PeterMmm

+0

我不確定你問的究竟是什麼,但是 - Tomcat肯定是在端口993上,因爲這個端口在此之前沒有被使用。正如我所說的,我使用'curl','wget'和'telnet'對本地和遠程進行了測試。 – Less

回答

3

我試着在端口993上運行一個裸露的Apache Tomcat實例,然後在994上運行。

我發現的是谷歌瀏覽器能夠訪問994但不993由於其受限的端口爲IMAPS。 (有趣的事實,我不知道:所有的瀏覽器阻止這些非標準的HTTP端口,因爲它們構成安全風險。例如,如果您向下滾動到94行,您可以在谷歌瀏覽器的所有受限制端口中使用view here a list。)

使用WizTools RESTClient 3.2.1爲Mac適用於我,但這是本地。根據您的網絡,可能會出現網絡/防火牆方面的問題,這很奇怪,因爲curl等工作正常,所以我不認爲它是HttpClient的實際問題,因爲它應該像curl那樣行事。也許這是3.2而不是3.2.1

參見:

enter image description here

+0

你是對的 - 瀏覽器會阻止這些非標準的端口。我會檢查客戶端的較新版本,看看會發生什麼。 – Less

+0

不,同樣的事情發生在版本3.2.1。我忘記提到的是,我從橋接客戶Ubuntu VM(我的主機操作系統是Windows7)運行'curl','wget'和'telnet'命令。所以,我試着從Ubuntu運行'RESTClient',猜猜看 - 它工作正常:)這是操作系統級別的東西,可能是防火牆,但我無法確定問題。我必須給你至少+1的努力和從不同操作系統運行RC的想法;) – Less

+0

Ubuntu防火牆可能會阻止該端口。你說在Windows上使用telnet到Ubuntu的盒子工作正常嗎? – Welsh

相關問題