Rewrite or internal redirection cycle while internally redirecting to "/error/403.html"

When accessing a vhost on my server I receive a 500 internal server
error
and then when viewing the log file I find the error rewrite or internal
redirection cycle while internally redirecting to “/error/403.html”. I
have a site working just fine with the exact same vhost configuration.
All
paths in the config are valid and all permissions are valid and correct.
Below is the configuration for the vhost in question. Any assistance
would
be greatly appreciated.

server {
listen *:80;

    server_name somedomain.tld *somedomain.tld;

    root   /var/www/somedomain.tld/web;



    index index.html index.htm index.php index.cgi index.pl 

index.xhtml;

    error_page 400 /error/400.html;
    error_page 401 /error/401.html;
    error_page 403 /error/403.html;
    error_page 404 /error/404.html;
    error_page 405 /error/405.html;
    error_page 500 /error/500.html;
    error_page 502 /error/502.html;
    error_page 503 /error/503.html;
    recursive_error_pages on;
    location = /error/400.html {
        internal;
    }
    location = /error/401.html {
        internal;
    }
    location = /error/403.html {
        internal;
    }
    location = /error/404.html {
        internal;
    }
    location = /error/405.html {
        internal;
    }
    location = /error/500.html {
        internal;
    }
    location = /error/502.html {
        internal;
    }
    location = /error/503.html {
        internal;
    }

    error_log /var/log/ispconfig/httpd/somedomain.tld/error.log;
    access_log /var/log/ispconfig/httpd/somedomain.tld/access.log

combined;

    ## Disable .htaccess and other hidden files
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    location /stats {
        index index.html index.php;
        auth_basic "Members Only";
        auth_basic_user_file

/var/www/clients/client3/web3/.htpasswd_stats;
}

    location ^~ /awstats-icon {
        alias /usr/share/awstats/icon;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include /etc/nginx/fastcgi_params;
        fastcgi_pass unix:/var/lib/php5-fpm/web3.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME

$document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_intercept_errors on;
}

}

Thank You,

Landon L.

Hello!

On Fri, Nov 16, 2012 at 12:28:45AM -0600, Landon Loucel wrote:

When accessing a vhost on my server I receive a 500 internal server error
and then when viewing the log file I find the error rewrite or internal
redirection cycle while internally redirecting to “/error/403.html”. I
have a site working just fine with the exact same vhost configuration. All
paths in the config are valid and all permissions are valid and correct.
Below is the configuration for the vhost in question. Any assistance would
be greatly appreciated.

server {
listen *:80;

[…]

    error_page 400 /error/400.html;
    error_page 401 /error/401.html;
    error_page 403 /error/403.html;
    error_page 404 /error/404.html;
    error_page 405 /error/405.html;
    error_page 500 /error/500.html;
    error_page 502 /error/502.html;
    error_page 503 /error/503.html;
    recursive_error_pages on;

You activated “recursive_error_pages”, hence any error which will
in turn result in the same error again will cause infinite loop.
With 403 it’s trivial to cause this effect e.g. by configuring
insufficient permissions on document root (any path componenent
of it).

That’s, in particular, one of the reasons why
recursive_error_pages is off by default, and it’s not recommended
to change this unless you understand what are you doing.

[…]


Maxim D.