Nginx: Custom Error 403 Page Not Working with IP Deny Configuration

Nginx: Custom Error 403 Page Not Working with IP Deny Configuration

If you have configured Nginx to return a custom error page for the 403 (Forbidden) error code, but the custom error page is not being displayed when you access a forbidden URL, it is possible that the issue is with the deny directive in your Nginx configuration.

The deny directive is used to block access to a URL based on the IP address of the client. When a client with a matching IP address attempts to access a URL that is protected by a deny directive, Nginx will return a 403 error and stop processing the request.

If the deny directive is placed before the error_page directive in the Nginx configuration, it will take precedence and the custom error page will not be displayed.

To fix this issue, you can either move the error_page directive above the deny directive, or you can use the error_page directive inside a location block that is protected by the deny directive.

Here is an example of how to use the error_page directive inside a location block:

refe‮al:ot r‬utturi.com
location /forbidden {
    deny all;
    error_page 403 /403.html;
}

This will cause Nginx to return the custom error page /403.html when a client attempts to access the /forbidden URL.

Created Time:2017-10-30 10:17:52  Author:lautturi