[解決済み] VS2010 プロジェクトへの外部アクセスのための IIS Express の設定
質問内容
VS2010 でプロジェクトを開発しており、IIS Express を介してローカルにサイトを表示することができます。 ネットワーク経由で外部からのアクセスを可能にしたいと思います。
私のすべての調査は、このブログ エントリに私を送りました。 http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx は参考になりますが、ビジュアル スタジオで開始したプロジェクトにバインディングを設定する方法は示されていないようです (スクリーンショットで画面を見つけることができず、applicationhost.config でバインディング情報を編集しましたが、ビジュアル スタジオからサイトを実行すると反映されないようです)。
どのように解決すればよいのでしょうか?
1 applicationhost.config ファイル(ドキュメント内の IISExpress フォルダにあります)を編集すると、サイトバインディングは以下のようになります。
<bindings>
<binding protocol="http" bindingInformation="*:8080:*" />
</bindings>
バインディングは3つの部分で構成されています。まず、IP アドレスまたはリスト、あるいはこの場合のようにワイルドカード。次にポート番号、そして 3 番目にホスト名、リスト、ワイルドカードです (以下の方法でフィルタリングするため)。
Host
ヘッダーによるフィルタリングのため)。開発目的では、一意のポートを使用する可能性が高いので、ここではワイルドカードが最も適しています。
2 ローカルホスト以外のバインディングを使用しているため、追加のパーミッションが必要です。管理者としてVSを実行するか、できれば URL ACL を追加する を追加して、必要なパーミッションを与える必要があります。以下の例では、すべての人に権限を与えていますが、自分のユーザー名を使用することもできます。
注意してください。
は
urlacl
はバインディングと正確に一致しなければなりません。ですから
urlacl
に対して
http://*: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 最後に、適切なファイアウォールエントリが必要です。これには、quot;Windows Firewall with Advanced Security" コンソールを使用するのが最も簡単です。
受信の規則] の下で [新しい規則] を選択します。
- ルールの種類は "カスタム" です。
- Program is Services->Customize...->Apply to services only. (IIS Express はサービスではありませんが、使用する HTTP マルチプレクサはサービスです)。
- プロトコルは TCP
-
特定のポート。IIS Expressバインディングのすべてのポートをリストアップします。このルールに戻って、いつでもポートを追加することができます。(これが面倒になった場合は、次のような範囲を追加するとよいでしょう。
40000-65534
のように、Visual Studio で使用されるすべての範囲をカバーする範囲を追加することもできますが、これは安全性が低いので注意してください)。 - Action は "Allow the connection" です。
-
Profileは以下のいずれかになります。迷ったら "ドメイン + プライベート" を選んでください。
- Domain"、企業のデスクトップで、ローカル ドメインでのみ実行される場合。
- ドメイン + プライベート: 非企業環境におけるプライベートな開発マシン、または在宅勤務の際にも動作する必要がある企業のラップトップである場合。
- ドメイン、プライベートおよびパブリック: プライベート ネットワーク以外のネットワークでデモを行う必要がある場合。
- 名前は、"IIS Express Dev Server" のようなものでなければなりません。
関連
-
[解決済み] Visual Studioでのソリューションファイルの最適な保存場所を教えてください。
-
[解決済み] Xamarin Build Hostが見つからない
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み] Visual StudioでWebプロジェクトでないプロジェクトのApp.Config変換は?
-
[解決済み] IIS Expressで外部からのリクエストを有効にするには?
-
[解決済み] VS 2017でデバッグ停止時にブラウザを自動で閉じないようにする方法
-
[解決済み] IIS Expressの設定ファイル/メタベースファイルはどこにありますか?
-
[解決済み】IIS Expressでカスタムドメインを使用する場合
-
[解決済み】Visual Studioでドキュメント間を移動する際のCtrl + Tabの動作を変更する。
-
[解決済み】Visual Studio 2010以降でZoomをリセットする方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] プロジェクトの種類は、このインストールではサポートされていません
-
[解決済み] Visual Studio 2013 ソリューションを Visual Studio 2015 にアップグレードする。
-
[解決済み] Visual StudioプロジェクトでSDFファイルが自動作成される?
-
[解決済み] 「プロジェクトにリファレンスを追加しようとすると、「値が想定範囲に収まらない
-
[解決済み] Visual Studio 2015でexeファイル(ucrtbased.dll)が実行できないのはなぜですか?
-
[解決済み] IIS Expressで外部からのリクエストを有効にするには?
-
[解決済み】Visual Studioでソリューション(およびディレクトリ)の名前を変更する正しい方法
-
[解決済み】NuGetパッケージが見つからない
-
[解決済み】VSデータベースプロジェクトにおけるDBMDLファイルの機能とは?
-
[解決済み】Visual Studioでファイル名を検索する方法は?