Tips

Chromeでhostsの変更が反映されない時の対処法

hostsの書き換えをしてもChrome上で反映されないことがあり、その対処法がわかったのでご説明します。

chrome://net-internals/#dnsではない

サイトのサーバー移行の前の事前確認のため、hostsにてあるドメインの向き先のIPアドレスを変えました。

多くのサイトで説明されているURL欄に以下を入力して開ける設定画面で

chrome://net-internals/#dns

「Clear hosts cache」と言うボタンを押すという方法だと反映されません。

当該ドメインにアクセスすると、元のIPアドレスにアクセスし続けました。

chrome://net-internals/#socketsで解決

以下のURLから開ける画面で、

chrome://net-internals/#sockets

「Flush socket pools」というボタンを押してから、再び当該ドメインにアクセスすると、書き換えたIPアドレスに向けてアクセスするようになりました。

「Clear hosts cache」はしてもしなくても関係なく、「Flush socket pools」だけでhostsの変更は反映されました。

さいごに

一度、当該ドメインであるIPにアクセスしたことがあれば、「Clear hosts cache」をしたとしても、コネクションは維持され続けてしまい、hostsでIPを書き換えても以前のIPにアクセスしてしまうということだと思います。なので、socket poolsと呼ばれるコネクションを全て削除してしまう必要があるのだと推測します。以下の記事を参考にしました。

ちなみに、hostsの書き換えは、直接編集しても良いのですが以下の記事で説明したようなアプリで管理するのが楽でおすすめです。

Macでhosts書き換えするならSwitchHostsがおすすめMacでWebの開発をしているとhostsの書き換えをする機会が多くなります。そこで便利なのがSwitchHostsです。(Window...