Google Chrome Ignoring Hosts File

旧巷老猫 提交于 2019-12-08 23:35:35

问题


Google Chrome is ignoring the settings in C:/Windows/System32/drivers/etc/hosts file. Both IE11 and Firefox are installed on the same machine and work as expected.

I've tried all the solutions I could find online including:

  1. Open chrome://net-internals/#dns and click the Clear Hosts Cache button.
  2. Go in Settings, Show Advanced Settings and uncheck the following three options: (X) Use a web service to help resolve navigation errors (X) Use a prediction service to help complete searches and URLs typed in the address bar (X) Use a prediction service to load pages more quickly
  3. Go in Settings, Show Advanced Settings, click the Clear Browsing Data button, selected Cached Images And Files from the beginning of time, and click Clear Browsing Data.
  4. Restart Chrome.exe.
  5. Restart the computer.
  6. Make sure to add http:// to the front of the web address.
  7. Make sure proxy settings are turned off
  8. Run cmd.exe and run ipconfig /flushdns
  9. Uninstall and reinstall Chrome

I'm at a loss... Is there anything I missed that I can try or check?


回答1:


Seems that Chrome doesn't likes the following extensions for that kind of stuff:

.dev
.localhost
.test
.example
.app

Use .local and the problem seems to disappear.




回答2:


Try clearing the DNS Cache:

1) run cmd.exe as administrator

2) type: ipconfig /flushdns




回答3:


Okay I faced the same problem but then I found the solution. Try this: Go to history (Ctrl+H) -> In the left pane click on Clear browsing data In the new window that opens go to Advanced tab Set Time Range to All Time -> check Cached Images and Files -> click on Clear data Restart your computer, It should start redirecting addresses mentioned in Hosts file (C:\Windows\System32\drivers\etc\hosts)

Note: This Solution is only for Google Chrome




回答4:


This has been identified as a "bug" in Chrome, but it appears to be absolutely intentional behavior. Google Chrome does not honor /etc/hosts when connected to the internal. It always does a DNS lookup to determine IP addresses.

While my references below mostly relate to my expereinces with this on Linux, it is not confined to Linux.

https://groups.google.com/a/chromium.org/forum/#!topic/net-dev/iKXqyc40tW0

https://superuser.com/a/887199/75128

https://bugs.chromium.org/p/chromium/issues/detail?id=117655




回答5:


A little late, but after hours i find a solution. It seems that Google Chrome sometimes has problems on recognize the name of the hosts defined en /etc/hosts.

I'm using linux and i'm behind a proxy.

Try adding at the end of the name server: .localhost

Example:

At: /etc/hosts:

127.0.0.1       myservername.localhost

On the virtual-hosts of your server configuration you'll need to rename the server name. In my case, i'm using apache so at /etc/apache/sites-enabled/myserver.conf rename the line of the old server name with:

...
ServerName:  myservername.localhost

If you are behind a proxy, you can except all the hosts just adding to the no_proxy vars:

$no_proxy= "localhost"

Finally don't forget to restart the server and try to access on the browser with the new server name.




回答6:


While it was stated that no proxy is being used, I have had the same issue on OS X while using a proxy and the eventual solution was to add a proxy-exception for this domain.

What the OP could try is turn off async DNS via command-line switch as mentioned here in 2015:

Async DNS: Remove toggle from about:flags

Async DNS is fairly stable at the moment, so we don't really need the toggle in about:flags anymore. (Note that the --enable-async-dns and --disable-async-dns command-line flags will still work for now.)

This, however, seems to have no effect in my case, as chrome://net-internals/#dns still displays the internal DNS-client as enabled with no obvious way to turn it off.



来源:https://stackoverflow.com/questions/42636711/google-chrome-ignoring-hosts-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!