![Google Chrome 忽略 SOCKS5 代理程式的 localhost](https://rvso.com/image/1592556/Google%20Chrome%20%E5%BF%BD%E7%95%A5%20SOCKS5%20%E4%BB%A3%E7%90%86%E7%A8%8B%E5%BC%8F%E7%9A%84%20localhost.png)
我透過 SOCKS 代理利用 Google Chrome 作為連接埠轉送。
本質上我是透過終端機運行以下命令:
ssh [email protected] -D 9999
然後在 Google Chrome 中,我將 SOCKS 代理設定為127.0.0.1:9999
.
問題是,我需要存取主機https://localhost/foo/bar
才能存取我需要存取的內容。這在 Firefox 上運作良好(當我修改代理設定時),但在 Chrome 上則不然。
如果我進入/etc/hosts
我的系統並創建一個像這樣的條目:
127.0.0.1 foobar
然後我就可以去了https://foobar/foo/bar
,一切正常。看來chrome拒絕轉送localhost
或127.0.0.1
.有沒有辦法解決?
答案1
預設情況下,Chrome 72+ 不會localhost
透過您配置的代理程式發送請求。
您需要將 Chrome 的代理程式繞過清單配置為包含<-loopback>
,這是一個特殊選項,告訴它localhost
透過代理程式發送。
透過命令列,這看起來像:
google-chrome --proxy-server=socks://127.0.0.1:9999 --proxy-bypass-list='<-loopback>'
答案2
我有類似的問題。至少,我的問題的標題可能是一樣的。
有時我會使用代理 ssh 隧道來存取只能從伺服器本身存取的連接埠。
但 Chrome 開始忽略本地主機的代理設置,所以我也必須尋找解決方法。
目前的解決方案是使用通配符 dns 服務。本機連結範例:http://127.0.0.1.nip.io,http://127.0.0.1.xip.io