Asp.net
為什麼在 IIS 8.5 (Win 2012 R2) 中為 asp.net 錯誤提供“200 OK”的空白頁面?
我已經設置了一個執行 IIS 8.5 的新 Windows 2012 R2 伺服器。
我們注意到,當發生錯誤時(例如 ASP.NET 狀態服務未執行),請求實際上返回的是一個完全空白的頁面(只有標題 - 沒有內容),而不是輸出 500 狀態程式碼錯誤螢幕。我們顯然需要查看錯誤並且為錯誤提供 200 OK 對於 Google 等索引器或任何網站監控工具(不會通知我們該網站已離線)來說可能是非常有問題的。
在我們的其他伺服器(IIS 7)上,我們看到“黃色錯誤螢幕”,其中包含“無法連接到狀態伺服器”(或類似資訊)之類的消息。
這裡可能有什麼問題?是否有一些設置可以全域禁用所有錯誤(但如果它也提供 200 狀態程式碼,這將是愚蠢的)還是有其他東西妨礙?
唯一可能造成乾擾的是我們在伺服器上安裝了 ISAPI_Rewrite(但這通常不會導致此問題)。
謝謝!
在 Windows 8 上有類似的問題。
在設置中搜尋“打開或關閉 Windows 功能”。
檢查是否啟用了以下功能
“/Internet 資訊服務/全球資訊網服務/通用 HTTP 功能/ HTTP 錯誤”。“/Internet 資訊服務/全球資訊網服務/通用 HTTP 功能/靜態內容”。
您需要確保在 ASP 模組中未啟用伺服器端調試。
經典 ASP 伺服器 500 錯誤以 200 的形式返回。嘗試打開伺服器端調試應用程序,然後找不到,IIS 隨後返回 200 響應和空白頁。