Google Chrome 忽略 SOCKS5 代理程式的 localhost

Google Chrome 忽略 SOCKS5 代理程式的 localhost

我透過 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拒絕轉送localhost127.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

相關內容