Getting on internal redirection cycle

jayakumark nginx-forum at nginx.us
Thu Jul 28 09:52:32 UTC 2011


Hi 

I'm running into a problem where requests for 403, get caught in a
redirect loop and eventually fail with a 500 response. 
I want to return custom 403 page for requests from germany.

###Config###


pid               /var/run/nginx/nginx.pid;
user              nginx nginx;
worker_processes  4;
worker_rlimit_nofile 30000;

events {
    worker_connections  4028;
    use epoll;
}


http {

geoip_country /usr/share/GeoIP/GeoIP.dat;

geo $Default {
default 0;
#skip this ip from getting 403
12.32.32.32 1;
}

 ## Size Limits
  client_body_buffer_size     128K;
  client_header_buffer_size   1M;
  client_max_body_size          1M;
  large_client_header_buffers 8 8k;

 ## Timeouts
  client_body_timeout   60;
  client_header_timeout 60;
  expires               12h;
  keepalive_timeout     60 60;
  send_timeout          30;

 ## General Options
  ignore_invalid_headers   on;
  keepalive_requests      50;
  recursive_error_pages    on;
  sendfile                 on;
  server_name_in_redirect off;
  server_tokens           off;


 upstream www.abcd.com  {
   server www.abcd.com:443 ;
}
server {
              listen 12.23.34.45:80;
              server_name www.abcd.com;
              access_log  /var/log/nginx/www.abcd.com/access.log main;
              error_log   /var/log/nginx/www.abcd.com/error.log;

                    if ($geoip_country_code = 'DE' ) {
                       set $value "${Default}I";
                     }

                    if ($value = 0I){
                        return 403;
                     }

                error_page 403 /e403.html;
				location /e403.html {
					root  /var/www/html/maintenance;
					internal;
				}


                 ## PROXY - Web
                 location / {
                        rewrite ^(.*)  https://www.abcd.com$1 
permanent;
                  }

                # redirect server error pages to the static page
/50x.html
				error_page   500 502 503 504  /50x.html;
				location = /50x.html {
					root   html;
				}
}


#### End Config ####

#### Error log #####

2011/07/28 09:25:10 [error] 20282#0: *242010 rewrite or internal
redirection cycle while internal redirect to "/e403.html", client:
122.248.163.3, server: www.abcd.com, request: "GET /favicon.ico
HTTP/1.1", host: "www.abcd.com"

#### End Log ######

Location of e403.html /var/www/html/maintenance

Can someone please help me figure out the issue here.

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,213036,213036#msg-213036



More information about the nginx mailing list