How to avoid google chrome proxy bypass for localhost?
Finally I've found a tricky solution for this. It was clear from the beginning that this is a browser issue, since I was able to make requests with curl --proxy
.
The trick is that the DNS resolution also happens through the proxy, therefore on the remote machine. So just add a new entry to your remote /etc/hosts
file:
127.0.0.1 local
Then you can access the remote "localhost" on your local machine, since Chrome knows nothing about this new host name. For example by: http://local:8080/mysite
.
chrome.exe --proxy-server="socks5://localhost:12345" --proxy-bypass-list="<-loopback>"
this will work for localhost
,127.0.0.1
,127.0.0.2
(have not tested, but assume),etc...
https://bugs.chromium.org/p/chromium/issues/detail?id=899126#c18
For Windows10, this is a System issue, that localhost will always goto current PC, and won't go through proxy.
U can set this in the OS's proxy setting to force localhost go proxy.
- Open the OS's proxy setting
- Ensure your proxy server(host & port) are set.
- Below, there will be a input for you, says
Use the proxy server except for address that start with the following entries. Use semicolons(;) to separate entries
- Add
<-loopback>
into that input. - Save.
Then your request of localhost to go under proxy.
Note:
- Though broswers will bypass localhost by default, the CMD will work even without this setting.
curl -x http://{proxyserIp}:{proxyPort} http://localhost:3000
- If u r using some browser extension(like
SwitchyOmega
), u can also add<-loopback
into it'sBypass list
, this still works.
refer: 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