![Google Chrome игнорирует localhost для прокси SOCKS5](https://rvso.com/image/1592556/Google%20Chrome%20%D0%B8%D0%B3%D0%BD%D0%BE%D1%80%D0%B8%D1%80%D1%83%D0%B5%D1%82%20localhost%20%D0%B4%D0%BB%D1%8F%20%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8%20SOCKS5.png)
Я использую Google Chrome для переадресации портов через SOCKS-прокси.
По сути, я запускаю следующую команду через терминал:
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
и все работает нормально. Кажется, что хром отказывается пересылать 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
У меня похожая проблема.(но я использовал SwitchyOmega, не знал, что Chrome уже может использовать socks во встроенных настройках). По крайней мере, заголовок моего вопроса может быть таким же.
Иногда я использую прокси-туннель SSH для доступа к портам, которые доступны только с самого сервера.
Но Chrome начал игнорировать настройки прокси-сервера для localhost, поэтому мне пришлось искать обходные пути.
Текущее решение — использовать wildcard dns services. Примеры ссылок на localhost:http://127.0.0.1.nip.io,http://127.0.0.1.xip.io