Freigeben über


How to enable loopback for Windows Store Apps

Sorry, English later, First Japanese.

Windows 8.1 の IE11 について

私の環境ですが、Windows 8.1 に IISを有効にした状態で、 IE 11(デスクトップIE と モダンアプリとしての IE11)で「127.0.0.1」というループバックにアクセスすると、このページは表示できませんとなってしまいます。
IE11 not display
この問題を回避するには、[インターネット オプション]-[セキュリティ]-[信頼済みサイト]でサイトボタンをクリックして、127.0.0.1を信頼済みサイトに追加します。
Trust site dialog
これでブラウズすると、以下のように正常に表示されます。
IE11 display
Windows 8.1のIE11では、ループバックが制限されているのでご注意ください。

Windows ストア アプリについて

Windows ストア アプリも、標準ではループバックとの通信も禁止されています。ストア アプリを開発される方の環境の場合は、Visual Studioがデバッグ環境においてループバックを使用するように設定しています。これは、[プロジェクト プロパティ]-[デバック]に設定があります。
Debug Setting
ローカル ネットワークのループバックが有効になっていることで、デバッグ時は問題なくループバックを使った通信を行うことができます。デバッグ環境ではない時に、どのように調べて対応するかという情報は、「ループバックを有効にする方法とネットワーク分離のトラブルシューティングを行う方法」に記載されています。このドキュメントには、CheckNetIsolation.exeというユーティリティを使った確認と追加する方法が記述されています。CheckNetIsolation.exeユーティリティは、Windows 8/8.1ととも提供されていますので、開発ツールがなくても利用することができます。このツールの利用方法は、コマンドプロンプトを開いて以下のように利用します。

 C:\Users\XXXX>CheckNetIsolation.exe LoopbackExempt -s

リスト ループバックは AppContainer を除外しました

[1] -----------------------------------------------------------------
    名前: bfe2a6a2-0cad-4251-87de-ac2f38f35ec4_ngfx0nz00mqn6
    SID:  S-1-15-2-1996650045-1801038662-1737393378-2727025871-1170270685-373450831-3470238151

[2] -----------------------------------------------------------------
    名前: app.abfb62353.ac3b8.a430f.ab2b0.ad9c3ace87830_8wekyb3d8bbwe
    SID:  S-1-15-2-2918410053-2341293364-2429605485-2955997936-2162362100-2763491358-3224060108

...

-s オプションは、ループバックが許可されているアプリの一覧が表示されます。名前が、アプリのパッケージ名になり、SIDがアプリのセキュリティ識別子になります。 LoopbackExempt -a -n=パッケージ名 オプションを使用すると、ループバックを使用するアプリを追加することができます。削除するには、 LoopbackExempt -d -n=パッケージ名 オプションを使用します。

次に、パッケージ名を確認する方法ですが、目的とするアプリを起動します。Windows + D キーを使ってデスクトップへ切り替えます。タスクバーで右クリックして、タスク マネージャーを起動します。
TaskManager 1
詳細をクリックしてから、目的のアプリをクリックして、右クリックで表示されるコンテキスト メニューから「ファイルの場所を開く」をクリックします。
TaskManager 2

こうすることで、Windows エクスプローラーが開きます。
Program Files
選択されているフォルダー名が、パッケージ名となります。ですから、このフォルダー名を控えておいて、CheckNetIsolationを使ってループバックを有効にするのに使用することになります。

Fiddlerを使う方法

Fiddler 4 をお使いの場合は、FiddlerにWindows 8 用の AppContainer Loopback Utility が含まれていますので、これを使用するにが簡単でしょう。Fiddler 4 を持っていない場合や、CheckNetIsolation ユーティリティのようにコマンドラインではなく GUI で設定したい場合は、Fiddler Windows 8 AppContainer Loopback Utility を使って下さい。Looback Utilityからダウンロードした「enableloopbackutility.exe」を実行することで、Loopback ユーティリティがインストールされます。インストール後に、全てのプログラムから「Enable AppContainer Loopback」 をクリックします。
AppContainer Loopback Exemption Utility Shorcut

起動すると以下のウィンドウが表示されます(このユーティリティは、管理者権限を必要とするので、UACのダイアログで「はい」を押してください)。
AppContainer Loopback Exemption Utility
アプリの一覧からループバックを有効にするアプリを見つけて、チェックボックスにチェックを付けてから、「Save Changes」ボタンをクリックします。これで、ループバックを有効にすることができます。

ちなみに、このユーティリティは、Win32 APIのファイアーウォール関係を使用しているようです。詳細を知りたい場合は、Fiddlerのサイトなどでドキュメントを調べてみてください。私のお勧めは、CheckNetIsolation.exe ユーティリティになります。その理由は、管理者権限を必要としないからです。

 

===================================================================
Last English.

About IE11 in Windows 8.1

My environment is to enable iis on Windows 8.1. I browse loopback(127.0.01) using IE 11(desctop IE and Modern IE11), then not displayed this page.
IE11 not display
To solution, [Internet option]-[Security]-[Trusted Sites]- Click the Site button, then add 127.0.0.1 to trusted sites.
Trust site dialog 
Browse Ok. 
IE11 display
Notice, limite using loopback of Windows 8.1’s IE11.

About Windows Store Apps

Default settings is Windows store apps deny loopback. But debug environment of Visual Studio enable loopback. This setting is [Project properties]-[debug].
Debug Setting
Enable loopback of local network, you can use loopback. For production environment , The information is  How to enable loopback and troubleshoot network isolation (Windows Store apps). This document describe “How to use CheckNetIsolation.exe”. CheckNetIsolation.exe is default tools onWindows 8/8.1. So not have Visual Studio, you can use this tool. You use this tool via command prompt. 

 C:\Users\XXXX>CheckNetIsolation.exe LoopbackExempt -s

リスト ループバックは AppContainer を除外しました

[1] -----------------------------------------------------------------
    名前: bfe2a6a2-0cad-4251-87de-ac2f38f35ec4_ngfx0nz00mqn6
    SID:  S-1-15-2-1996650045-1801038662-1737393378-2727025871-1170270685-373450831-3470238151

[2] -----------------------------------------------------------------
    名前: app.abfb62353.ac3b8.a430f.ab2b0.ad9c3ace87830_8wekyb3d8bbwe
    SID:  S-1-15-2-2918410053-2341293364-2429605485-2955997936-2162362100-2763491358-3224060108

...

-s option is listing loopback’s Apps. Name is app’s package name, SID is security identifire. LoopbackExempt -a -n=package name option is to add loopback’s app. For delete, use LoopbackExempt -d -n=package name option.

Next, for confirm package name. First run target app, then  using Windows + D key, switch desktop. run Task Manager. 
TaskManager 1
Click detail, then click target app. The Context Menu by Right click , click [open place file].
TaskManager 2 

Opend Windows explorer window.
Program Files
Selected folder is package name. So you can use package name by CheckNetIsolation.

How to use Fiddler.

Fiddler 4  include the AppContainer Loopback Utility. If use Fiddler4, you use it. If you don’t have Fiddler 4 or want to use GUI, then please use Fiddler Windows 8 AppContainer Loopback Utility . Downloaded enableloopbackutility.exe , run, so installed Loopback utility. From all programe, click 「Enable AppContainer Loopback」.
AppContainer Loopback Exemption Utility Shorcut

Display under window( this utility need admin right, you click “yes” on UAC Dialog).
AppContainer Loopback Exemption Utility
Please find target app on Apps list, chek on checkbox, then click Save changes button. So enabled loopback.

I recommended CheckNetIsolation.exe Utility. Because not need Admin right.