開発現場に新しいPCが届いたので、移行してみたらハマったことがあったので情報連携します。
Windows10→Windows10の移行でしたので何も気にせずローカルファイルの必要なものを新しいPCに移動させました。
しばらくの期間、問題なく使えていたので安心しきっていたのですが、VirtulBoxの仮想マシンを使う機会があって、古いPCで使えていた仮想マシンを移行してみたときにハマりました。
仮想マシンで動かしていたLinuxにSSHでサインインできるので、移行もできたかなと思っていた矢先、
仮想マシンのWEBアプリにアクセスできない!
古いPCで作成していた仮想マシンにはLinux(Fedora)がインストールされていて、Tomcatが動いていました。
そのTomcatに開発していたWEBアプリをデプロイして検証していたのですが、新しいPCのVirtualBoxに移行した仮想マシンではWEBアプリにアクセスできない!という事象が発生しました。
仮想マシンには新しいPCからPINGは届くし、SSH接続もできるので、なぜHTTP通信できないのか困惑しました。
firewallの設定が変わるとも思えないし、Windows Firewallか。。。Windows Defenderか。。。ネットワークの設定か。。。
Fedoraにログインして、netstat で見るとtomcatのポートの8080も8009もListenしているし、Curlコマンドで直接アクセスしても200 OKの応答がある。。。tcpdumpで確認すると、なぜかローカルからのWEBアクセスだけパケットが到達していない。。。なぜだ!。。。試行錯誤。
ふと、Chromeでアクセスしてみたら。。。
Chromeならアクセスできる!
どういうこと???って調べていくうちに結論に至りました。
Edgeはlocalhostにリクエストを投げられない!
どうやら、EdgeはlocalhostにWEBリクエストを投げることができない仕様のようです。
ChromeやFirefoxならアクセスできました。
そういえば、新しいPCに移行前はFirefoxを使っていたなぁ。。。ということで、原因がEdgeにあることがわかりました。
皆さんもなぜかEdgeでWEB通信だけつながらないぞ。。。という事象になったら、アクセス先がlocalhostであれば、この事象かもしれませんね。
ブラウザを変えてアクセスできれば、きっと、同じ事象でしょう。