ChoromeとかFireFoxと違ってポートフォワーディングしないとアクセスできません。私はVagrant+Ubuntu16.04ですが、たぶんVagrantUbuntu関係なくローカル環境の仮想マシンだとアカン気がします。原因はループバック接続の問題らしいですが、詳しいことはわかりません。

追記 2017/10/30

本記事のコメント欄 コメント欄閉鎖したので現在閲覧できません。申し訳ありません。下記のコメントを頂いていました。

インターネットオプションの「ローカルイントラネット」もしくは「信頼済みサイト」に追加すればアクセスできました。

こちらの方法も試してみて下さい。

ちなみに、私はこの方法でもダメでした…。何か間違ってるのかな…?

構成


ローカルに下記の環境を構築したものとします。

ホストOSWindows 10
ゲストOSVagrant + Ubuntu16.04(private network)
ホストOSのIP192.168.10.2
ゲストOSのIP192.168.33.10
ゲストOSのホスト名example.local
ゲストOS上のWebサイトのポート8080

上記のような構成の場合、EdgeでWebサイトにアクセスしようとすると最初に書いた通りポートフォワーディングしないとアクセスできません。ちなみにEdgeのバージョンは25.10586.0.0です。

アクセスできないケース


下記のような場合はアクセスできません。

1
2
3
4
5
//その1:ゲストOSのIPを指定する
http://192.168.33.10:8080

//その2:ゲストOSのホスト名を指定する
http://example.local:8080

なんででしょう~ね。他のブラウザだとできるんですが…

アクセスするには…


もう、三回目でくどいですがVagrantでポートフォワーディングを設定します。下記の例だとホストOSの8080にアクセスすることでゲストOSの8080につながります。もちろんホストOSの8080ポートが使用されていないのが前提です。

1
config.vm.network "forwarded_port", guest: 8080, host: 8080

これでEdgeでも仮想マシンに構築したWebサイト(アプリケーション)に下記のいずれかでアクセスできます。

1
2
3
http://localhost:8080
http://127.0.0.1:8080
http://192.168.10.2:8080

その他、変えたらなおるらしい設定


Edge使ってる人が少ないのか、ググってもほとんど情報が見つかりませんでした。唯一同じ問題にぶつかっている方を見つけましたが解決したのかどうかわかりません。

上記の掲示板での回答に下記のようなものがありました。

Edge is known to be a bit picky with loopback connections. While 127.0.0.1 has been fixed when Spartan was renamed to Edge, other IP addresses bound to the loopback driver still can make problems.

要するにEdgeはループバック接続にやかましいらしいです。で、2つの設定を変えるといいと書いてありました。ちなみに、私の場合は下記2つの設定を変えてもなおりませんでした

Edge用のループバックを有効にする

コマンドプロンプト(管理者権限)で下記を実行する。

1
CheckNetIsolation LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe

インターネットオプション

インターネットオプションで他のゾーンに指定されていないローカル(イントラネット)のサイトをすべて含めるのチェックを外す。

1
2
3
4
セキュリティ 
-> ローカルイントラネット
-> サイト
-> 他のゾーンに指定されていないローカル(イントラネット)のサイトをすべて含める

以上。