404.2 and , ISAPI restriction and Web Service Extension
A common and very misleading http error is the status with code 404.2 .
It is misleading because it belongs to the 404 family which may indicate
that the resource was not found, however this error indicates that the
server has blocked our request by it’s lockdown policy.
The web server lockdown policy’s job is restrict the requests to a known
and valid pages / resources. For example, this is very rare to find servers
that allows you to run executable programs remotely by HTTP requests.
Another common scenario of request blocking is for known extension,
registered to an ISAPI executable which was not allowed by the server’s
configuration. The most common scenario I’ve encountered was that ASP.NET
4.0 ISAPI was not allowed. (occurs on machines installed initially without
.Net 4.0) One good examples for this scenario can be seen on Gil Fink’s post.
One other common scenario I’ve encountered was heaving to host Magic
application on IIS. Magic web application required a special ISAPI executable.
In order to do so, we have to add new extension and add the Magic’s ISAPI
DLL to it.
How can we configure these settings?
IIS 6: In here it is called Web Service Extensions, You can find it by clicking
it’s corresponding folder. You can allow or prohibit each extension.
In case of new extension, you need to press on the “Add new web service extension”
(circled above), and add the required file(s). You can also add / remove files and
and allow / prohibit each one of them.
IIS7: On that IIS, it called ISAPI & CGI restrictions. You can choose it by
clicking once on the server’s name, and then from feature view selecting
ISAPI & CGI restrictions (circled below)
The registration list looks a bit different from the extensions list on IIS6,
in here wee see every file on that list along with it’s description
By looking at the figure below you can see some description that repeat
themselves (like Web Service Extension in IIS6 that have more than one file).
In this post we’ve seen the connection between IIS lockdown
(HTTP error No. 404.2), Web Service Extension and ISAPI
Restrictions. In fact, we’ve seen that installing the appropriate
ISAPI executable is not enough, we have also to allow it.
We’ve seen how to allow it on both IIS6 and IIS7