1 applicationhost.config ファイル (ドキュメントの IISExpress フォルダーにあります) を編集すると、サイト バインドは次のようになります。
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
バインディングは 3 つの部分で構成されます。最初に IP アドレスまたはリスト、またはこの場合のようにワイルドカードを指定します。2 番目にポート番号、3 番目にホスト名、またはリスト、またはワイルドカード (Host
ヘッダーによるフィルタリング用)。開発目的では、一意のポートを使用する可能性が高いため、ここではワイルドカードが最適です。
2非 localhost バインディングを使用しているため、追加のアクセス許可が必要です。VS を管理者として実行するか、URL ACLを追加して必要なアクセス許可を付与することをお勧めします。以下の例では、全員に許可が与えられていますが、自分のユーザー名を使用することもできます。
注:はurlacl
バインディングと正確に一致する必要があります。したがって、urlacl
forhttp://*:8080
は のバインディングを許可しますが、後者が前者のサブセットであっても*:8080:*
のバインディングは許可しません。これは、ワイルドカードを使用する代わりに にホスト ヘッダーをリストする場合、それぞれに一致するものを追加する必要があることを意味します。*:8080:localhost
applicationhost.config
urlacl
外部トラフィック用に HTTP.sys を構成する手順は、予約済みポートを使用するようにサイトを設定する手順と似ています。Windows 7 または Windows Vista では、昇格したコマンド プロンプトから次のコマンドを実行します。
netsh http add urlacl url=http://*:8080/ user=DOMAIN\username
Windows XP では、昇格したコマンド プロンプトから次のコマンドを実行します。
httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)
注 2 VS を管理者として実行するか、ACL エントリを追加しても問題が解決しない場合は、コマンド ラインから IIS Express を実行し、バインド登録の失敗メッセージがあるかどうかを確認します。コマンド ラインから開始するには、次のコマンドを入力します。
iisexpress.exe /site:"your-site-name"
3最後に、適切なファイアウォール エントリが必要になります。これには、「セキュリティが強化された Windows ファイアウォール」コンソールを使用するのが最も簡単です。
[受信の規則] で [新しい規則...] を選択します。
- ルールの種類は「カスタム」です。
- プログラムは、サービス->カスタマイズ...->サービスのみに適用されます。(IIS Express はサービスではありませんが、使用する HTTP マルチプレクサはサービスです)。
- プロトコルは TCP
- 特定のポート: すべての IIS Express バインディングのすべてのポートを一覧表示します。このルールに戻って、いつでもポートを追加できます。(これが面倒な場合は
40000-65534
、Visual Studio で使用される範囲全体をカバーするような範囲を追加することもできますが、これは安全性が低いことに注意してください)。
- アクションは「接続を許可する」
- プロフィールは以下のいずれかになります。疑問がある場合は、「ドメイン + プライベート」を選択してください。
- 「ドメイン」、あなたのデスクトップが企業のデスクトップであり、ローカル ドメインでのみ実行される場合
- 「ドメイン + プライベート」 非企業環境のプライベート開発マシン、または自宅で作業するときにも動作する必要がある企業のラップトップの場合。
- 非プライベート ネットワークでデモンストレーションを行う必要がある場合は、「ドメイン、プライベートおよびパブリック」。
- 名前は「IIS Express Dev Server」のようなものにする必要があります