Macでこの/ etc/hostsファイルを使って楽しく学習できるように、google.comをローカルマシンにリダイレクトしようとしています。
127.0.0.1 www.google.com
ただし、MacでChrome)にアクセスすると、www.google.comは引き続きGoogleホームページにマッピングされます。なぜですか?
基本的に、これは私がしたすべてです:
Sudo vim /etc/hosts
ターミナル。127.0.0.1 www.google.com
をhostsファイルに挿入します。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
。
Webブラウザーは、hosts
構文が正しいかどうかを確認する最良の方法ではありません。実行してみてください
ping www.google.com
そして、それが127.0.0.1
にpingすることを確認します。
Chromeがhosts
ファイルをキャッシュしているように見えるように見える理由:
ChromeがすでにIPをすでに照会している場合(最近の定義は、おそらくDNSサーバーから返される 存続時間(TTL) に依存します)、バイパスされますhosts
ファイルは正しいIPをすでに知っているため、これはWebの閲覧を高速化するために行われます。
Chrome新しいエントリを尊重するには、次のようにします。
@Renanの説明に従って/etc/hosts
を編集します。
chrome://chrome/settings/clearBrowserData
にアクセスします。
since the beginning of time
を選択します。
Empty the cache
をオンにしますが、その他はすべてオフにします。
Clear browsing data
をクリックして、完了するまで待ちます。
Chromeを再起動します。
Chromeは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
を押してファイルを保存し、CTRL-X
を押してnanoを閉じました。
それから私は次のことをしました、そしてそれは完全に働きました:
Chrome新しいエントリを尊重するには、次のようにします。
@Renanの説明に従って/etc/hosts
を編集します。
chrome://chrome/settings/clearBrowserData
にアクセスします。これでChromeはホストファイルを尊重するはずです。