Chrome does not honor proxy settings
Reported by
watter...@gmail.com,
Jun 13 2018
|
|||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.170 Safari/537.36 OPR/53.0.2907.68 Steps to reproduce the problem: This is related to the issue reported at https://productforums.google.com/forum/?utm_medium=email&utm_source=footer#!msg/chrome/IspTo0Glue4/IBnvbX7qBQAJ1. Chrome does not honor proxy settings passed in via the command line or through environment variables. For example, I use the following command to run chrome which results in my proxy server not being used. google-chrome --proxy-server="localhost:2001" --proxy-bypass-list=$no_proxy What is the expected behavior? Proxy server is used. What went wrong? Proxy server is not used. Checking the external IP through a site such as https://www.whatismyip.com returns the local network IP instead of the SOCKS proxy server's address. Did this work before? Yes Chrome version: 67.0.3396.62 Channel: stable OS Version: CentOS Linux release 7.5.1804 (Core) Flash Version: 29.0.0.171
,
Jun 13 2018
In my view, this is not a security bug but a functional bug, but I agree it should have component=privacy since this could have privacy implications.
,
Jun 13 2018
I tested on Chrome stable channel (67.0.3396.87) and it is working for me. @palmer: Are you testing from a corp machine? If so, the proxy is controlled by the BeyondCorp extension, and hence the --proxy-server command line has no effect until you set its to "Off: System/Alternative" mode. If that is not the case, I would like to follow-up with you for a repro. @wattersmt: Unfortunately proxy settings are complicated, so there are a number of possibilities here: (1) Your proxy settings are being controlled by group policy. If that is the case, --proxy-server has no effect. Navigate to chrome://policy and search for ProxyMode to see if you have a policy override. (2) Your proxy settings are being controlled by an extension. If that is the case, it can override the proxy set via command line. (3) Proxy settings are in fact correct, however you have specified a bypass list that causes the URLs of interest to be bypassed. Since in your command line you have: --proxy-bypass-list=$no_proxy The value of $no_proxy is pertinent. For instance if your no_proxy environment variable is the wildcard "*" then you are effectively using no proxy. (4) You mentioned "returns the local network IP instead of the SOCKS proxy server's address.". Note that you configured Chrome to use an HTTP proxy with --proxy-server=localhost:2001. If you want it to be treated as a SOCKS proxy you need to spell it --proxy-server="sock5://localhost:2001". The next step for debugging is to navigate to: chrome://net-internals#proxy And report back what it says.
,
Jun 14 2018
Thanks for the response. It appears I was setting the proxy server parameter incorrectly. Running chrome using the following command does work with my http proxy. google-chrome-stable --proxy-server="10.8.0.1:8080" --proxy-bypass-list="localhost,127.0.0.1,.example.com,.google.com"
,
Jun 14 2018
Thanks! @palmer: Mind taking a look at comment #3 -- I have a question for you. Thanks!
,
Jun 14 2018
#5: Yep, I was on a corporate machine with a corp-logged-in profile.
,
Jun 14 2018
Thanks! I believe this is working as intended then. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by palmer@chromium.org
, Jun 13 2018Components: Privacy Internals>Network>Proxy
Labels: Security_Impact-Stable
Owner: eroman@chromium.org
Status: Assigned (was: Unconfirmed)