2013-11-24 35 views
12

我已經設置了運行IIS 8.5的新Windows 2012 R2服務器。爲什麼在IIS 8.5(Win 2012 R2)中爲空白頁面提供「200 OK」的asp.net錯誤?

我們注意到,當發生錯誤(例如ASP.NET狀態服務未運行)而不是輸出500狀態代碼錯誤屏幕時,請求實際上返回一個完全空白的頁面(只有標題 - 沒有內容) 。我們顯然需要查看錯誤併爲200錯誤提供錯誤可能對像Google等索引器或任何wesite監控工具(它們不會通知我們該站點已脫機)非常成問題。

在我們的其他服務器(IIS 7)上,我們看到「黃色錯誤屏幕」,顯示「無法連接到狀態服務器」(或類似信息)。

這裏有什麼可能是錯的?是否有一些設置可以全局禁用所有的錯誤(但如果它也服務於200狀態代碼,這將是愚蠢的),或者是否有其他方法阻礙?

唯一可能干擾的其他事情是我們已經在服務器上安裝了ISAPI_Rewrite(但這通常不會導致此問題)。

謝謝!

+1

檢查您的錯誤頁面設置,嘗試禁用您的重寫模塊作爲測試。 –

+0

嘗試在IIS中使用失敗的請求跟蹤工具以獲取有關(在哪個階段)問題發生的位置以及對此負責的更多詳細信息。 – TonyCool

+0

我有類似的問題,並通過安裝未包含在默認安裝中的'HTTP重定向'模塊來解決它 – gordy

回答

20

在Windows 8上有類似問題。

在設置中搜索「打開或關閉Windows功能」。

檢查啓用以下功能

「/ Internet信息服務/萬維網服務/常見HTTP功能/ HTTP錯誤」。 「/互聯網信息服務/萬維網服務/通用HTTP功能/ 靜態內容」。

+0

爲開發本地.net網站還檢查 「/互聯網信息服務/萬維網服務/應用程序開發功能/ASP.Net 3.5「和」/ Internet信息服務/萬維網服務/應用程序開發功能/ ASP.Net 4.5「 – Adam

+0

從8.1升級後在Win10上發生的情況也是如此。謝謝:) –

+0

防病毒軟件會影響這個問題嗎?因爲我安裝了所有提到的功能,但仍然出現此錯誤500-19 –

4

您需要確保ASP模塊中未啓用服務器端調試功能。

經典ASP服務器500錯誤返回爲200's。試圖打開服務器端調試應用程序,然後找不到,IIS隨後返回200響應和空白頁。

3

刪除所有Global.asax代碼幫助我找到錯誤的原因。

之後,IIS開始按預期返回錯誤頁面。然後,在應用修復程序之後,我返回了Global.asax代碼。

也許這種情況可以幫助你。

+0

這是在您的自定義錯誤處理中查找錯誤的好方法。如果你已經實現了這個。 – DeadlyChambers

+0

這對我有用! –

+0

完美..這讓我可以追查_actual_錯誤 –

3

請確保您沒有在Global.asax.cs的Application_Error中調用Server.ClearError(),最終成爲我的問題。

+1

這是我的原因,感謝您的幫助。 – JJP

1

當請求Default.aspx(在目錄中設置爲頁面默認值)時,我遇到了類似的問題。服務器返回狀態200,但內容爲空。

在這種情況下,它可以將應用程序池的管理管道模式從集成切換到經典模式。

相關問題