web-dev-qa-db-ja.com

Microsoft Edgeがホストファイルでドメイン名が127.0.0.1にルーティングされている一部のローカルWebサイトを開き、他のWebサイトを開かないのはなぜですか

多くのプログラマと同様に、私はサイトをローカルでテストします。
hostsファイルを使用して、ドメイン名をローカルIP(127.0.0.1)にマップします。

修飾ドメイン名を使用します。通常、「d」サブドメイン(「開発」用)を使用します。

例えば:

d.somewebsite.com 
d.anotherwebsite.com 
and so on...

Microsoft Edgeでは、ほとんどのWebサイトが機能します。ただし、それらのいくつかはそうではありません。動作しないドメイン名について特別なことや奇妙なことは何もありません。単純なd.someletters.com

Chrome、IE、Firefoxで正常に動作します。

Edgeでは、「うーん、このページにアクセスできません」というエラーメッセージが表示されます。

最初は、IPを解決していないと思いました。ただし、別の無関係なURLでタイプミスをしたときに、hostsファイルによってルーティングされない要求は、ISPに送信されて解決されることに気付きました。 ISPが解決できない場合は、この特別な検索結果ページに、検索しようとしているものの候補が返されます。さて、ローカルドメインにアクセスしても、ISPからこのページを取得できません。 Edgeから上記のエラーを直接受け取ります。

したがって、Edgeはドメインを正しく解決しているように見えます。そうでなければ、ISPのDNSに送信されていたはずです。

したがって、Edgeはローカルマシンに接続できないだけだと思います。しかし、私が言ったように、これらのローカルドメインのいくつかはうまく機能しています。また、127.0.0.1をEdgeで直接使用しても機能します。問題となっているのはこれら2つのドメイン名だけです。 Edgeでのみ(他のすべてのブラウザーが動作します)何かアイデアはありますか?

Webサーバーは、Apache2 for Windows(xampp)が重要な場合です。

また、Edgeでデバッグウィンドウを開いてネットワークを監視すると、リクエストがまったく送信されません。

編集:私はもはやhostsファイルを使用していません。 Linuxボックスの1つでdnsmasqを実行しており、ホストの代わりにDNSに使用しています。また、ループバックを使用しないようになりました(DNSは現在別のボックスにあるため)、私は内部プライベートIPアドレス(192.168 ...)を使用しています。同じ問題。

63
Evan de la Cruz
  • ネットワークは、Windows 10のセキュリティ対策としてループバックをブロックできます。

  • 管理者としてコマンドプロンプトを開き、これを実行してEdgeをループバックから除外します。

    CheckNetIsolation LoopbackExempt -a -n="Microsoft.MicrosoftEdge_8wekyb3d8bbwe"
    

Microsoft.MicrosoftEdge_8wekyb3d8bbweはEdgeアプリの識別子です)

ここに詳細を示すブログ投稿があります: https://blogs.msdn.Microsoft.com/msgulfcommunity/2015/07/01/how-to-debug-localhost-on-Microsoft-Edge/

102
Chris Halcrow

私はそれを解決しました。

機能しなかったもの:

  • IE互換性設定またはWindows互換性リストを変更する
  • 完全修飾ドメイン名を使用する
  • ループバック以外のIPアドレスを使用する
  • httpとhttpsを使用して
  • webページからすべてのjavascriptおよびクロスサイトスクリプト/リソースを削除する
  • localhostループバックを許可するか、互換性設定を使用するためのabout:flagsのオプションのチェック/チェック解除
  • windowsレジストリのTabProcConfigのエントリの削除/追加/編集
  • 閲覧履歴、キャッシュ、Cookieの削除

解決策:完全に反直感的なひねりを加えて:

信頼済みサイトリストからドメイン名を削除してください!

  1. インターネットオプションダイアログを開きます(Cortanaに問い合わせるか、windowskey + sを使用します)
  2. Securityタブに移動します
  3. Trusted Sitesゾーンをクリックします
  4. Sitesボタンをクリックします
  5. 信頼できるサイトのリストから問題のあるドメイン名を削除する
  6. Applyをクリックし、ダイアログを閉じます
  7. Edgeを開く(または既に実行されている場合は再起動する)
  8. ビオラ

私は、常識を使用して、問題が発生したのはサイトが単に「信頼済みサイト」ゾーンに存在するという事実だけではないと考えたことに注意する必要があります。私はそれがそのゾーンの何らかの設定であると考えました。そのため、「サイト」リストからドメイン名を削除する前に、すべての設定をインターネットゾーンの設定と完全に一致させ(中程度の高セキュリティ、保護モードを有効にし、すべてのサイトのサーバー検証を必要としない)、また、私が見つけることができる他のすべての組み合わせ。ゾーンセキュリティ設定の組み合わせは機能しませんでした。唯一の解決策は、信頼済みサイトリストからドメインを完全に削除することです。面白いのは、これがIEのインターネット設定ダイアログであっても、IEで動作することです。これはEdgeにのみ影響するようです。

Windows 10 Internet Options

Remove Trusted Sites from the Trusted Zone

編集:2週間後、hostsファイルの代わりに、ローカルLinuxマシンでdnsmasqを使用してDNSに使用するように構成を変更します。すぐに発生したかどうかはわかりませんが、ある時点でEdgeが再び動作しなくなりました! about:flagsで「ループバックを許可する」チェックボックスがすでにオンになっているため、CheckNetIsolationの修正が機能するとは思っていませんでした。しかし、そうでした。エッジバージョンは20.10240.16384.0です。 Windows 10プレビューのMicrosoft Edge(Project Spartan)でlocalhostを開けない からの修正を使用しました

編集#2数ヶ月後、Edgeはこの問題を再び抱えています。以前のソリューション(および他のソリューション)の両方を試しましたが、どちらももう機能しません。私は2つの別々の問題を経験したと仮定しているため、この答えを残しています。

11
Evan de la Cruz

ローカルサイトが信頼済みサイトにないため、「信頼済みサイトから削除」ソリューションが機能しませんでした。

しかし、インターネットオプションを探してくれて、Windows 10でローカルサイトでIISが機能するようになりました。これが私がやったことです。

  1. インターネットオプションを開き、[ローカルイントラネット]を選択します

enter image description here

  1. [サイト]をクリックします

enter image description here

  1. [イントラネットネットワークを自動的に検出する]をクリックします

enter image description here

  1. OKをクリックします。 Microsoft Edgeでローカルマシンサイトを試してみると、動作するはずです。
7
lkessler

あなたの状況には当てはまらないかもしれませんが、それでもなお。私のセットアップは次のとおりでした。パブリックスペースアドレス(インターネット)ページがiframeにプライベートスペースアドレス(イントラネット)を持つページをロードしようとしていたため、Edgeは同じ「うーん、このページにアクセスできません」というメッセージでイントラネットページのロードを拒否しました。デバッグコンソールに「SEC7117エラー」が表示されます。 Edgeはインターネット/イントラネットゾーンを混在させることを好まないことが判明しました(理由については 拡張保護モードについて ブログ投稿をご覧ください)。 Edgeは個別のAppContainerでタブを実行し、AppContainerネットワークの制限はネットワーク構成に依存します。

私の解決策は、問題のイントラネットページをホストしているサーバーを2つ目のプライベートスペースIPを割り当ててドメインネットワークから取り出し、そのIPに2つ目のDNSエントリを作成することでした。サーバーは最終的に2つのIPを持つことになります。1つはドメインネットワークにあり、もう1つは2つの異なるDNSエントリです。次に、Edgeは代替URLをポイントし、イントラネットページの読み込みを正常に開始します。 PCのIPマスクと問題のページURLが一致しない限り、Edgeはページをロードするようです。

私が言及したブログ投稿には、localhostのループバックブロックに関する情報とIEのprivateNetworkClientServer機能の欠如があります。私が知る限り、その情報はEdgeに適用されるものです。

3
beluga

私にこれが起こったとき、ドメインと一致する以下のレジストリキーでドメインエントリを見つけることができます。それを削除すると、しばらく動作します...理由はわかりませんが、Edgeは最終的にそれを追加します。

Computer\HKEY_USERS\S-1-5-21-964789662-521690395-1734141374-1111\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\Microsoft.microsoftedge_8wekyb3d8bbwe\MicrosoftEdge\TabProcConfig

3
Brian

私の場合、ネットワークの種類をプライベートからパブリックに変更することでうまくいきました。これも再現可能であり、ネットワークタイプの信頼性を変更すると、状態が「動作中」から「取得中」に変わります:Http failure response for (unknown url): 0 Unknown Error

2
Aros

他のソリューションはどれも私にとってはうまくいきませんでした。私の問題はVPNに関連していることがわかりました。 Microsoft EdgeはまだVPN IPアドレスをサポートしていませんが、Internet Explorer 11はサポートしています。これが2016年5月の時点でまだ問題であることは印象的です。

追加の詳細: https://social.technet.Microsoft.com/Forums/en-US/b3a687ae-345d-4c3f-9070-184b33fb1fc6/Microsoft-Edge-cant-access-vpn-ip-address-but -ie-11-can?forum = win10itprogeneral

現在、Microsoft EdgeはVPNでうまく機能していないようです。また、Microsoft Edgeからインターネットに接続するメカニズムは、Internet Explorer 11や他のデスクトップブラウザーとは少し異なります。これについては、あまり詳しくないので明確に説明できません。

そのため、現在の状況に基づいて、代わりにInternet Explorer 11を使用してください。

2
Vika

編集から、127.0.0.1ではなく192.168.0.0/16アドレスでサイトにアクセスしていることに注目すると、アクセスに使用するインターフェースによってEdgeブラウザーの動作が異なるという問題が発生していると思われますサイト。私が試した他のブラウザはこのように動作しません。

私の環境では、Virtualboxホストのみのネットワーク設定があり、NdisDeviceTypeは1でした。NdisDeviceTypeを0に変更した後、Edgeはこのインターフェイスを介してのみサイトに移動できます。必要なレジストリキーは次のとおりです。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}\XXXX

XXXXの代わりに、インターフェイスの正しいキーが必要です。これは「ルート印刷」から決定し、1を減算しました。私にとっては「0016」でした。

変更する値は*NdisDeviceTypeと呼ばれます。 (これは文字通りのアスタリスクです。)0から1に変更し、Windowsで変更を確認するために再起動する必要がありました。

私の答えは、2017年10月3日付の "Jani L"による投稿 から収集されました。このソリューションを 別のstackoverflowの質問 に詳細に投稿しました。 Virtualboxチケット15565 も参照してください。

1
rohanc

私にとっては、[インターネットオプション](コントロールパネル)、[セキュリティ]、[ローカルイントラネット]の順に選択し、[イントラネットネットワークを自動的に検出する]にチェックを入れました。これにより、下のネストされたオプションがグレー表示され、Edgeはすぐにホストファイルの使用を開始しました。

0
frumbert