IIS Expressでカスタムドメインを使用する 質問する

IIS Expressでカスタムドメインを使用する 質問する

従来、私はローカルホスト開発サーバーでカスタム ドメインを使用しています。次のようなものです:

dev.example.com
dev.api.example.com

これにより、Facebook などの外部 API を操作する際の柔軟性が大幅に向上しました。 これまでは、組み込みの Visual Studio 開発サーバーで を指す DNS レコードに CNAME を追加するだけで済んだため、非常にうまく機能していました127.0.0.1

しかし、これを IIS Express で動作させることができませんでした。試したことはすべて失敗したようです。IIS applicationHost.configExpress のファイルに正しい XML 構成を追加しましたが、IIS の実際のインストールほどエントリが有効であると認識されないようです。

<binding protocol="http" bindingInformation="*:1288:dev.example.com" />

この行を入力してリクエストしようとすると、http://dev.example.com:1288次のメッセージが表示されます。

不正なリクエスト - 無効なホスト名

私が何か明らかなことを見逃しているかどうか、誰か知っていますか? それとも、IIS Express チームには、このタイプの使用法を予見する先見性が本当に欠けていたのでしょうか?

ベストアンサー1

これは私にとってはうまくいった方法です (VS 2013 用に更新されました。2010 の改訂履歴を参照してください。VS 2015については、こちらを参照してください。https://stackoverflow.com/a/32744234/218971):

  1. Web アプリケーション プロジェクト ▶ Properties▶を右クリックしWebServersセクションを次のように構成します。

    • IIS Express ▼ドロップダウンから選択
    • プロジェクトURL:http://localhost
    • アプリケーション ルート URL を上書きします:http://dev.example.com
    • クリックCreate Virtual Directory(ここでエラーが発生した場合は、IIS 5/6/7/8を無効にする必要があるかもしれません。IISをDefault Siteポート以外のものに変更し:80Skypeはポート80を使用していませんなど)
  2. オプション:Start URLhttp://dev.example.com

  3. (Windows XP、Vista、および 7)を開き%USERPROFILE%\My Documents\IISExpress\config\applicationhost.config、構成ブロック内のサイト定義を<sites>次のように編集します。

    <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>
    
  4. applicationPoolMVC を実行している場合: が「Integrated」オプションの 1 つ (「Clr2IntegratedAppPool」など) に設定されていることを確認します。

  5. 開くhostsファイルという行を追加します127.0.0.1 dev.example.com

  6. ► Startあなたの申請!

コメントからの素晴らしいアドバイス:

  • Visual Studio を管理者として実行する必要がある場合があります。
  • 他の開発者にIISの実行を見せたい場合netsh http add urlacl url=http://dev.example.com:80/ user=everyone
  • サイトをすべてのホストに解決したい場合は、設定しますbindingInformation="*:80:"。任意のポートを使用できますが、80が便利です。すべてのホストを解決するには、Visual Studioを管理者として実行する必要があります。

おすすめ記事