Как избежать обхода прокси-сервера Google Chrome для localhost?

Как избежать обхода прокси-сервера Google Chrome для localhost?

На Linux я запускаю Chrome, google-chrome --proxy-server=127.0.0.1:8888 --proxy-bypass-list=""однако он по-прежнему не использует прокси для запросов localhost.

Как заставить Chrome использовать мой прокси-сервер для localhost?

Вы можете задаться вопросом, зачем я это делаю? Я пытаюсь записать все запросы, используя jmeter, к приложению, работающему в локальной среде.

решение1

Вы были почти там, но ответнаходится в документации Chromium для возможности обходавы использовали. Вам нужновычитатьзначения по умолчанию, добавив дефис перед тем, что вы хотите удалить, в данном случае это интерфейс обратной связи, который буквально пишется <loopback>.

В то время как обычные правила обхода указывают браузеру, какие URL-адреса не должны использовать прокси-сервер, это правило имеет противоположный эффект и сообщает браузеру, что вместо этого следует использовать прокси-сервер.

Полный параметр:--proxy-bypass-list="<-loopback>"

Немного жаль, что это не упомянуто и не связано сСтраница настроек сети для Chromium...

решение2

Наконец я нашел хитрое решение для этого. С самого начала было ясно, что это проблема браузера, так как я мог делать запросы с curl --proxy.

Хитрость в том, что разрешение DNS также происходит через прокси, следовательно, на удаленной машине. Так что просто добавьте новую запись в ваш удаленный /etc/hostsфайл:

127.0.0.1       local

Затем вы можете получить доступ к удаленному "localhost" на вашей локальной машине, поскольку Chrome ничего не знает об этом новом имени хоста. Например, с помощью: http://local:8080/mysite.

решение3

В Windows 10 это системная проблема, так как localhost всегда будет подключаться к текущему ПК и не будет проходить через прокси-сервер.

Вы можете установить это в настройках прокси-сервера ОС, чтобы заставить localhost использовать прокси-сервер.

  • Откройте настройки прокси-сервера ОС.
  • Убедитесь, что ваш прокси-сервер (хост и порт) настроен.
  • Ниже будет ввод для вас, говоритUse the proxy server except for address that start with the following entries. Use semicolons(;) to separate entries
  • Добавьте <-loopback>к этому вводу.
  • Сохранять.

Затем ваш запрос localhost будет передан через прокси-сервер.

Примечание:

  • Хотя браузеры по умолчанию обходят localhost, CMD будет работать даже без этой настройки.curl -x http://{proxyserIp}:{proxyPort} http://localhost:3000
  • Если вы используете какое-либо расширение браузера (например SwitchyOmega, ), вы также можете добавить <-loopbackв него Bypass list, это все равно будет работать.

ссылаться: https://docs.microsoft.com/en-us/archive/blogs/fiddler/fiddler-and-the-ie9-release-candidate https://stackoverflow.com/questions/37700079/how-to-intercept-local-server-web-requests-using-burp-in-internet-explorer

решение4

Если вы используете mitmproxy или charles для отладки запросов localhost, попробуйте использовать Chrome 69 в macOS с установленным системным прокси-сервером.

Связанный контент