回答:
hosts
ファイルには、このように動作しません。ホスト名をIPアドレスにマップするためにのみ使用できますlocalhost
。
たとえば、127.0.0.1 www.google.com
www.google.comを127.0.0.1にマップします。
より多くのホスト名を単一のIPにマップする場合は、それらのホスト名を同じ行に追加するだけです(例:)127.0.0.1 www.a.com www.b.com
。
127.0.0.1 google.com
この行の後に(wwwなしで)追加してみて、機能するかどうかを確認します。
127.0.0.1 google.com
どちらも機能していません。何が起こっているのかわかりません...それ/etc/hosts
は/private/etc/hosts
Macでのソフトリンクですが、それがまったく役に立たないと思います。
hosts
ホスト名をIPアドレスにマップします(その逆ではありません)。
Webブラウザは、hosts
構文が正しいかどうかを確認するための最良の方法ではありません。実行してみてください
ping www.google.com
そしてそれがpingすることを確認し127.0.0.1
ます。
Chromeがhosts
ファイルを無視しているように見える理由はキャッシュです:
Chromeが最近IPをすでに照会している場合(最近の定義はDNSサーバーから返される存続時間(TTL)に依存している可能性が高い)、正しいIPをhosts
すでに知っているため、ファイルをバイパスします。これは、Webブラウジングを高速化するために行われます。
Chromeに新しいエントリを尊重させるには、次のようにします。
/etc/hosts
@Renanの説明に従って編集します。
に移動しchrome://chrome/settings/clearBrowserData
ます。
を選択しsince the beginning of time
ます。
をチェックしますがEmpty the cache
、その他はすべてオフにします。
クリックClear browsing data
して終了するまで待ちます。
Chromeを再起動します。
これでChromeはhosts
ファイルを尊重するはずです。
hosts
エントリがすでにキャッシュされているホスト名でない限り、Chromeは即座に変更を取得します。私は仮定し、それがチェックすることをhosts
TTLが過去持っている場合のみ。大きなウェブサイト、それはしばらく時間がかかることができます。
chrome.exe
時々ファイル全体を読み取ります。
net-internals/#dns
、/etc/hosts
が変更されると、ホストキャッシュが自動的にクリアされます。
私はUbuntu 16.04のFortinet SSL VPNを介してオフィスに接続しているので、上記の組み合わせです。
最初にやらなければならないことは、ターミナルコンソールを起動して次のコマンドを実行することです。
sudo nano /etc/resolvconf/resolv.conf.d/base
次の例を追加しました:
searchdomain domain.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
次に、を押してファイルを保存し、を押しCTRL-O
てnanoを閉じましたCTRL-X
。
それから私は次のことをしました、そしてそれは完全に働きました:
Chromeに新しいエントリを尊重させるには、次のようにします。
/etc/hosts
@Renanの説明に従って編集します。
chrome://chrome/settings/clearBrowserData
ます。これでChromeはホストファイルを尊重するはずです。
127.0.0.1 www.google.com
。ただし、google.comは引き続きGoogleホームページにアクセスします。何か更新する必要がありますか?コンピュータを再起動する必要がありますか?