IIS 8.5を実行する新しいWindows2012R2サーバーをセットアップしました。
エラーが発生した場合(たとえば、ASP.NET State Serviceが実行されていなかった場合)、500ステータスコードエラー画面を出力する代わりに、要求は実際には完全に空白のページ(ヘッダーのみ-コンテンツなし)を返すことに気付きました。私たちは明らかにエラーを確認する必要があり、エラーに対して200 OKを提供することは、Googleなどのインデクサーや任意のwesite監視ツール(サイトがオフラインになったことを通知しない)にとって非常に問題になる可能性があります。
他のサーバー(IIS 7)では、「状態サーバーに接続できませんでした」(または同様の)というメッセージとともに「黄色のエラー画面」が表示されます。
ここで何が間違っている可能性がありますか?すべてのエラーをグロバブルに無効にする設定はありますか(ただし、200ステータスコードも提供する場合、これはばかげています)、または何か他のものが邪魔になる可能性がありますか?
干渉する可能性がある他の唯一のことは、サーバーにISAPI_Rewriteがインストールされていることです(ただし、これによって通常この問題が発生することはありません)。
ありがとう!
Windows8でも同様の問題がありました。
設定で「Windowsの機能をオンまたはオフにする」を検索します。
次の機能が有効になっていることを確認してください
"/インターネットインフォメーションサービス/ワールドワイドウェブサービス/一般的なHTTP機能/ HTTPエラー"。 "/インターネットインフォメーションサービス/ワールドワイドウェブサービス/共通HTTP機能/ 静的コンテンツ"。
ASPモジュールでサーバー側デバッグが有効になっていないことを確認する必要があります。
クラシックASPサーバー500エラーは200として返されます。サーバー側デバッグアプリケーションを開こうとしましたが、見つかりませんでした。その後IIS 200の応答と空白のページを返します。
Global.asax.csのApplication_ErrorでServer.ClearError()を呼び出していないことを確認してください。これが、私の問題になりました。
すべてのGlobal.asaxコードをリッピングすることで、エラーの原因を見つけることができました。
その後、IISは期待どおりにエラーページを返し始めました。その後、修正が適用された後、Global.asaxコードを返しました。
多分この場合はあなたを助けます。
Default.aspx(ディレクトリでページのデフォルトとして設定)を要求したときに同様の問題が発生しました。サーバーはステータス200を返しましたが、コンテンツは空白でした。
この場合、アプリケーションプールのマネージパイプラインモードを統合からクラシックに切り替えることができました。
HTTPアクティベーションが有効になっていることを確認してください