昨日会社のMacでlocalhostでページを開こうとしたところ、ローディング画面のまま接続できていない現象に遭遇しました。結果的に解消できましたので、今後同様の現象が発生したときのための備忘録として記録します。
localhostに繋がらなくなった現象の概要
最初は、Node.jsで「localhost:3000」を立ち上げたときに気づきました。先週まで正常に表示されていたのにも関わらず、ローディングのままページが表示されませんでした。
Node.jsだけの問題かと思ったので、MAMPやDockerなど様々な環境でlocalhostの接続を試みましたがダメでした。
試したことや確認したこと
では、実際に試したことや確認したことをご紹介します。
127.0.0.1がlocalhostに指定されていないか確認した
まず、IPアドレスの「127.0.0.1」にlocalhostが指定されていないかどうかだけ確認しました。これがされていないと、MAMPなどでlocalhost接続ができません(Dockerはこのあたりは関係ないことに後で気づきました)。
Mac の場合、「Hosts.prefpane」というツールで簡単にhostsファイルの確認、編集ができます。ちなみにCatalinaではインストールはできますが使用はできませんでした。
http://permanentmarkers.nl/software.html
Macの場合、下記のディレクトリにhostsファイルがあります。
/private/etc/hosts
確認したところ、「Figma」のアドレスが「127.0.0.1」に設定されていました。また、「127.0.0.1」に「localhost」が設定されていることを確認しました。
もしかしたらと思い「Figma」のアドレスを「127.0.0.1」の設定から外しましたが、解決には至りませんでした。この時点で1時間ほど調査に費やしていました。
ESETのファイアウォールを切ってみたら解決した
以前ブラウザからサイトがいきなり見られなくなった際にESETが原因であることがありました。例えば学校でプロキシサーバ経由でネットを使用した際に接続できなかったり、ブラウザで普通にサイトを閲覧しようとしたときに見られないなどの経験がありました。
しかしlocalhostでも適用されるのかよく分からず、ノーマークでした。
試しにESETのファイアウォールを無効化したところ、「localhost」が正常に表示されるようになりました。いきなりlocalhostが見られなくなったのは、ESETが自動アップデートしたことに起因するものと考えられます。
会社のMacは「Mojave」の最新版で、家のMacも「Mojave」の最新版なので同じ環境、同じ設定でなぜ閲覧できなくなったかはまだ把握できていません。
しかしもし突然サイトにアクセスできなくなった場合は、まずセキュリティソフトを疑うことが大事であると学びました。