我在localhost:2080上運行代理以進行調試。我可以看到TRAFIC經歷我的代理使用兩種:http.nonProxyHosts僅在本地主機上被忽略
curl http://localhost:8888/stuff --proxy localhost:2080
curl http://some.server.com:8888/stuff --proxy localhost:2080
使用Spring應用程序,或裸露的骨頭HttpURLConnectionExample Java application,我看到請求都通過代理當我打電話some.server.com
,但從來沒有在localhost
,即使我設置http.nonProxyHosts
爲一個隨機值(避免默認爲localhost
)。
我確信我的JVM參數通過添加以下代碼考慮到帳戶:
System.out.println("java.version="+props.getProperty("java.version"));
System.out.println("http.proxyHost="+props.getProperty("http.proxyHost"));
System.out.println("http.proxyPort="+props.getProperty("http.proxyPort"));
System.out.println("http.nonProxyHosts="+props.getProperty("http.nonProxyHosts"));
產生以下的輸出:
java.version=1.8.0_131
http.proxyHost=localhost
http.proxyPort=2080
http.nonProxyHosts=dummy.snafu.com
https.proxyHost=localhost
https.proxyPort=2080
https.nonProxyHost=dummy.snafu.com
Testing 1 - Send Http GET request
Sending 'GET' request to URL : http://localhost:8888/stuff
Response Code : 200
hello
爲什麼HTTP請求localhost
通過不會我使用以下JVM參數運行時的代理?
-Dhttp.proxyHost=localhost
-Dhttp.proxyPort=2080
-Dhttp.nonProxyHosts=dummy.snafu.com
您是否從客戶端應用程序中檢查了'nonProxyHosts'的值? – Malt
是的,謝謝你的提問。添加了相關的代碼和輸出到我的問題。 – ixe013