Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why are blank pages being served with "200 OK" for asp.net errors in IIS 8.5 (Win 2012 R2)?

I've set up a new Windows 2012 R2 server running IIS 8.5.

We noticed that when an error occurs (eg the ASP.NET State Service was not running) that instead of outputting a 500 status code error screen, the request actually returns a totally blank page (only headers - with no content). We obviously need to see the errors and serving 200 OK for an error could be very problematic for indexers like Google etc or any wesite monitoring tools (which would not notify us that the site had gone offline).

On our other servers (IIS 7) we see the "yellow error screen" with a message like "could not connect to state server" (or similar).

What could possibly be wrong here? Is there some setting to globablly disable all errors (but this would be stupid if it also serves the 200 status code) or could something else be getting in the way?

The only other thing which could be interfering is we've got ISAPI_Rewrite installed on the server (but this doesn't usually cause this problem).

Thanks!

like image 463
NickG Avatar asked Nov 24 '13 10:11

NickG


2 Answers

Had a similar issue on Windows 8.

In settings search for "Turn Windows features on or off".

Check that the following features are enabled

"/Internet Information Services/World Wide Web Services/Common HTTP Features/HTTP Errors". "/Internet Information Services/World Wide Web Services/Common HTTP Features/Static Content".

like image 99
Dmitry Dzygin Avatar answered Sep 28 '22 02:09

Dmitry Dzygin


You need to ensure Server Side Debugging is not enabled in the ASP module.

Classic ASP server 500 errors are returned as 200's. An attempt is made at opening the Server Side Debug Application, that then can't be found and IIS subsequently returns a 200 response and a blank page.

like image 22
Gers Avatar answered Sep 28 '22 03:09

Gers