特定のホストへの IIS リモート エラー

特定のホストへの IIS リモート エラー

IIS 構成オプションの 1 つは、クライアントのブラウザーに送信されるエラーの詳細の量です。

独自の開発サーバーが必要であり、運用サーバーから詳細なエラー メッセージを一般に公開しない理由は明らかです。

開発者の IP アドレスなど、特定のホストにエラーを送信するように IIS を設定するにはどうすればよいでしょうか。アプリケーションで実際にエラーが発生しているかどうかを確認するためだけに、サーバーにリモート デスクトップ接続したくありません。

私が考えている代替案は、同じサーバー上に別の Web サイトを設定し、特定のホストにのみアクセスを許可することです。この Web サイトは、詳細なエラーを取得しようとしている Web サイトへのリバース プロキシとして機能しますが、これは必要以上に複雑であるように思われます。

答え1

標準の IIS 設定を使用すると、ローカル サーバーとリモート マシンを区別することしかできません。特定のリモート マシンに詳細なエラーを表示し、他のマシンには表示しないようにする方法はありません。

とにかくこれを実行できるトリックがあります。

開発用に 2 番目のサイトを用意するというアイデアはすでに正しいです。理想的には、すべてのアプリケーション ファイルを含む単一のサイトが必要ですが、エラー設定を定義するには 2 つの異なる web.config が必要です。

1 つのサイトに 2 つの構成を設定することはできませんが、IIS 構成システムは階層化されており、ほとんどの設定を複数の場所に保存できます。

同じ物理的な場所を指す 2 つの Web サイトを作成します。

設定をローカルの web.config に配置するのではなく、<system.web><customErrors>グローバルの web.config に配置します%systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config。どちらの場合<system.webServer><httpErrors>も、%systemroot%\System32\inetsrv\config\applicationHost.configこれらの設定を次のような場所タグで囲みます。

<location path="ProdSite">
    <system.web>
        <customErrors mode="On" />
    </system.web>
</location>

<location path="DevSite">
    <system.web>
        <customErrors mode="Off" />
    </system.web>
</location>

IISマネージャーを使用してこれを行うこともできます。Managementサイトのセクションで、を開いてConfiguration Editor変更したい設定までドリルダウンし、上部のFromドロップダウンをまたはにRoot Web.Config変更します。ApplicationHost.config

ここに画像の説明を入力してください

まだ非常に簡単ではありませんが、単一の Web サイトであれば問題ありません。

関連情報