IIS Custom HTTP Error Messages

When a client makes an invalid request to an IIS server, IIS responds with an error code that is congruent with the HTTP 1.1 specification. IIS comes with a set of HTTP 1.1 error files in HTML format. However, IIS can be configured to send alternative files or strings.

For information about how to configure IIS to send alternative error files, see the topics Custom Error Messages and Substatus Error Codes in Log Files on the Microsoft TechNet Web site. Additional information can be found in Best Practices with Custom Error Pages.

HTTP 1.1 Error Messages

HTTP 1.1 error messages are returned to the client browser in the form of an HTML page that contains a generic message. When a user attempts to connect to a Web site and an HTTP error occurs, an error message is sent back to the client browser with a brief description of what happened during the attempt to establish a connection. For example, if a user attempts to connect to a Web site that has reached its maximum connection capacity, an HTTP error is returned to the client that contains the statement "Too many users."

Custom Error Messages

All the IIS custom error message files that come with IIS display industry-standard HTTP codes, which ensure consistency with HTTP 1.1 error messages.

Custom error messages are configured in a metabase property called HttpErrors. When a set of custom error messages is configured at the Web-site level, all directories under that server inherit the entire list of custom error messages. That is, the two custom error message lists (for the server and the directory) are not merged.

Use the Custom Errors property sheet in IIS or programmatically configure the HttpErrors metabase property to customize HTTP error messages by specifying an alternative file or string to display when an error occurs.

The following HTTP error messages can be customized with IIS. Other errors are handled by the client browser.

Error code

Error message

400

Cannot resolve the request.

401.1

Unauthorized: Access is denied due to invalid credentials.

401.2

Unauthorized: Access is denied due to server configuration favoring an alternate authentication method.

401.3

Unauthorized: Access is denied due to an ACL set on the requested resource.

401.4

Unauthorized: Authorization failed by a filter installed on the Web server.

401.5

Unauthorized: Authorization failed by an ISAPI/CGI application.

401.7

Unauthorized: Access denied by URL authorization policy on the Web server.

403

Forbidden: Access is denied.

403.1

Forbidden: Execute access is denied.

403.2

Forbidden: Read access is denied.

403.3

Forbidden: Write access is denied.

403.4

Forbidden: SSL is required to view this resource.

403.5

Forbidden: SSL 128 is required to view this resource.

403.6

Forbidden: IP address of the client has been rejected.

403.7

Forbidden: SSL client certificate is required.

403.8

Forbidden: DNS name of the client is rejected.

403.9

Forbidden: Too many clients are trying to connect to the Web server.

403.10

Forbidden: Web server is configured to deny Execute access.

403.11

Forbidden: Password has been changed.

403.12

Forbidden: Client certificate is denied access by the server certificate mapper.

403.13

Forbidden: Client certificate has been revoked on the Web server.

403.14

Forbidden: Directory listing is denied on the Web server.

403.15

Forbidden: Client access licenses have exceeded limits on the Web server.

403.16

Forbidden: Client certificate is ill-formed or is not trusted by the Web server.

403.17

Forbidden: Client certificate has expired or is not yet valid.

403.18

Forbidden: Cannot execute requested URL in the current application pool.

403.19

Forbidden: Cannot execute CGIs for the client in this application pool.

403.20

Forbidden: Passport logon failed.

404

File or directory not found.

Tools like URLScan can be configured to block processing of certain file name extensions. Check your URLScan settings.

404.1

File or directory not found: Web site not accessible on the requested port.

The 404.1 error can occur only on computers with multiple IP addresses. If a specific IP address/port combination receives a client request, and the IP address is not configured to listen on that particular port, IIS returns a 404.1 HTTP error. For example, if a computer has two IP addresses and only one of those IP addresses is configured to listen on port 80, any requests received on the other IP address with port 80 result in IIS returning a 404.1 error. This error should be set only at the service level because it is returned to clients only when multiple IP addresses are used on the server.

404.2

File or directory not found: Lockdown policy prevents this request.

404.3

File or directory not found: MIME map policy prevents this request.

405

HTTP verb used to access this page is not allowed.

406

Client browser does not accept the MIME type of the requested page.

407

Initial proxy authentication required by the Web server.

410

File has been removed.

412

Precondition set by the client failed when evaluated on the Web server.

414

Request URL is too large and therefore unacceptable on the Web server.

500

Internal server error.

500.11

Server error: Application is shutting down on the Web server.

500.12

Server error: Application is busy restarting on the Web server.

500.13

Server error: Web server is too busy.

500.14

Server error: Invalid application configuration on the server.

500.15

Server error: Direct requests for GLOBAL.ASA are not allowed.

500.16

Server error: UNC authorization credentials incorrect.

500.17

Server error: URL authorization store cannot be found.

500.18

Server error: URL authorization store cannot be opened.

500.19

Server error: Data for this file is configured improperly in the metabase.

500.20

Server error: URL authorization scope cannot be found.

500 100

Internal server error: ASP error.

501

Header values specify a configuration that is not implemented.

502

Web server received an invalid response while acting as a gateway or proxy server.

See Also

Concepts

Creating Custom Error Messages

Other Resources

Best Practices with Custom Error Pages

Custom Error Messages

Substatus Error Codes in Log Files