Custom error_page basic config problem

Hi fellows,

I was having trouble creating a custom error_page. Here’s the simple
test
config i did:

server_name www.test1.com.ar;

error_log logs/www.test1.com.ar.http.error.log debug;
access_log logs/www.test1.com.ar.http.access.log main;

root /usr/local/www/www.test1;

location / {

Esto es para simular el geoip con un if.

if ( $remote_addr = “10.24.18.2” ) {
error_page 401 /custom/404b.html;
return 401;
}
}

With that, i only got the nginx default error page. After turning on
debug
i saw that when nginx goes to fetch the error_page mentioned it searches
in
location / so it denies and send me the default error. Now i added a
location like this

location = /custom/404b.html {

internal;
}

Which made it work.

My question is is this is OK. If my solution is the correct one or
perhaps
theres a better one. Also, this test is easy cause its local, but i want
to
implemtn this in a proxy_pass situation. Probably the intercept_error…

Thanks for any hints you can give.

Weird. No one?

Cheers

2013/1/14 Agus [email protected]

Hello!

On Mon, Jan 14, 2013 at 07:02:41PM -0300, Agus wrote:

root /usr/local/www/www.test1;
With that, i only got the nginx default error page. After turning on debug
i saw that when nginx goes to fetch the error_page mentioned it searches in
location / so it denies and send me the default error.

This is expected behaviour - you return 401 once again during
error_page handling, and hence get builtin error.

Now i added a location like this

location = /custom/404b.html {

internal;
}

Which made it work.

This is how it’s usually handled - via separate location without a
check to deny access.

My question is is this is OK. If my solution is the correct one or perhaps
theres a better one. Also, this test is easy cause its local, but i want to
implemtn this in a proxy_pass situation. Probably the intercept_error…

Thanks for any hints you can give.

Separate location for handling errors is fine.


Maxim D.