連接我有Jetty的HttpClient的使用SSL的Apache HTTP服務器連接的設置,其中路由請求作爲HTTP的Web服務器:碼頭HttpClient的使用SSL通過代理
HttpClient的< --HTTPS - > http服務器< --HTTP - > Web服務器。
此設置已運行一段時間。
我現在嘗試添加代理:
HttpClient的< --HTTPS使用CONNECT方法 - >代理< --HTTPS - > http服務器< --http - > Web服務器
我m使用以下代碼來設置代理:
httpClient.setProxy(new Address(「proxyHost」,proxyPort));
該代理不需要認證。
SSL握手似乎開始行,看着TCP轉儲,我可以看到我得到'服務器你好'的迴應。 然而,握手後失敗,出現以下錯誤表示http服務器日誌:
[星期三06月26 12點49分42秒2013] [調試] ssl_engine_io.c(1925):OpenSSL的:I/O錯誤,5個字節可望上BIO#7faefe130d00閱讀[MEM:7faefe11f203]
由於握手失敗,沒有HTTP請求被轉發到web服務器。
使用相同的設置,但使用url.openConnection()和HttpsURLConnection配置代替Jetty HttpClient(如https://stackoverflow.com/a/1512268/378060中所述)工作正常。
配置代理和證書後從瀏覽器連接也可以。
版本的詳細信息:
碼頭的HttpClient:試過7.4.2,7.6.11,8.1.11(Windows)中
代理是魷魚2.7(Windows)中
Apache HTTP服務器2.2.15(Linux)的