[解決済み】IIS Expressでカスタムドメインを使用する場合
質問
従来、私は自分のローカルホストの開発サーバーでカスタムドメインを使用していました。以下のようなものです。
dev.example.com
dev.api.example.com
これにより、Facebookなどの外部APIを使用する際に、非常に柔軟な対応ができるようになりました。これは、Visual Studio Development Serverに組み込まれているDNSレコードにCNAMEを追加するだけでよいので、過去にうまくいったことがあります。
127.0.0.1
.
しかし、IIS Expressでこれを動作させることはできません。私が試したすべてが失敗しているようです。正しい XML 構成を
applicationHost.config
ファイルを作成しましたが、IIS の真のインストールのようにエントリが有効であると認識されないようです。
<binding protocol="http" bindingInformation="*:1288:dev.example.com" />
この行を入力し、リクエストしようとすると必ず
http://dev.example.com:1288
次のようなメッセージが表示されます。
不正なリクエスト - 無効なホスト名
私が何か明らかなことを見逃しているのかどうか、誰か知っていますか?それとも、IIS Express チームにはこのような使い方を見抜く先見の明がなかったのでしょうか?
解決方法は?
これは、私の場合、うまくいったことです(VS 2013用に更新、2010用の改訂履歴を参照、for VS 2015 はこちらをご覧ください。 https://stackoverflow.com/a/32744234/218971 ):
-
Web Application Projectを右クリック ▶.
Properties
Web
を設定した後Servers
セクションは、以下のようになります。- 選択 IISエクスプレス▼。 ドロップダウンから
-
プロジェクトのURL
http://localhost
-
アプリケーションのルートURLを上書きします。
http://dev.example.com
-
クリック
仮想ディレクトリの作成
(ここでエラーが発生した場合は、IIS 5/6/7/8を無効にして、IISの
Default Site
をポート以外の場所に移動します。:80
を確認します。 Skypeがポート80を使用していない など)
-
オプションで を設定します。
Start URL
からhttp://dev.example.com
-
開く
%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config
(Windows XP、Vista、7) で、サイト定義を編集します。<sites>
configブロックを以下のような内容に変更してください。<site name="DevExample" id="997005936"> <application path="/" applicationPool="Clr2IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:\path\to\application\root" /> </application> <bindings> <binding protocol="http" bindingInformation=":80:dev.example.com" /> </bindings> <applicationDefaults applicationPool="Clr2IntegratedAppPool" /> </site>
-
MVC を実行している場合
applicationPool
には、"Integrated" オプションのいずれか ("Clr2IntegratedAppPool" など) が設定されています。 -
を開いてください。
hosts
ファイル という行を追加し127.0.0.1 dev.example.com
. -
スタート アプリケーションを作成します。
コメントから素晴らしいアドバイスがありました。
- Visual Studio を管理者として実行する必要がある場合があります。
- 他の開発者にIISの実行を見せたい場合
netsh http add urlacl url=http://dev.example.com:80/ user=everyone
- すべてのホストに対して解決させたい場合は、以下のように設定します。
bindingInformation="*:80:"
. ポートはお好みで、80が便利です。すべてのホストを解決するには、Visual Studioを管理者として実行する必要があります。
関連
-
[解決済み] Visual Studioのデバッグ/ロードが非常に遅い
-
[解決済み] 「仮想ディレクトリの追加時に「Cannot verify access to path (C:\pub appendix wwwroot)
-
[解決済み] IISでURLのパスをリダイレクトするには?
-
[解決済み] エラー - IISメタベースにアクセスできません。
-
[解決済み] IIS 500.19 with 0x80070005 The requested page cannot be accessed because the related configuration data for the page is invalid error.
-
[解決済み] IIS Expressで外部からのリクエストを有効にするには?
-
[解決済み】IIS Expressでカスタムドメインを使用する場合
-
[解決済み】IIS ExpressのWindows認証について
-
[解決済み] WebApi の {"message": "an error has occurred"} が IIS7 では表示されず、IIS Express では表示されない。
-
[解決済み] ASP.NET Web API - PUT & DELETE 動詞が許可されない - IIS 8
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 「仮想ディレクトリの追加時に「Cannot verify access to path (C:\pub appendix wwwroot)
-
[解決済み] IISでURLのパスをリダイレクトするには?
-
[解決済み] IIS Expressの設定ファイル/メタベースファイルはどこにありますか?
-
[解決済み】Visual Studioをデフォルトで管理者として実行するにはどうしたらいいですか?
-
[解決済み】IIS:IISのログはどこで見ることができますか?
-
[解決済み】IIS Expressでカスタムドメインを使用する場合
-
[解決済み】ASP.NET MVCのルートをサブドメインに基づいて作成することは可能ですか?
-
[解決済み] SkypeがHTTPまたはHTTPSポート80と443を使用しないようにする方法を教えてください。[クローズド]