IIS構成オプションの1つは、クライアントのブラウザーに送信されるエラーの詳細の量です。
独自の開発サーバーが必要であり、本番サーバーから詳細なエラーメッセージを公開しない理由は明らかです。
IIS特定のホストにエラーを送信するように設定するにはどうすればよいですか?たとえば、開発者のIPアドレスなどですか?実際のエラーが何であるかを確認するためだけにサーバーにリモートデスクトップを使用したくありません。応用。
私が考えている代替案は、同じサーバー上に別のWebサイトをセットアップし、特定のホストのみにアクセスを許可することです。このWebサイトは、詳細なエラーを取得しようとしているWebサイトのリバースプロキシとして機能しますが、それは本来よりも複雑に思えます。
標準の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 Managerを使用してこれを行うことができます。サイトのManagement
セクションでConfiguration Editor
を開き、変更する設定にドリルダウンします。 、上部でFrom
ドロップダウンをRoot Web.Config
またはApplicationHost.config
に変更します
それでもそれほど簡単ではありませんが、1つのWebサイトで済ませることができます。