Forum: NGINX 403 error logging

1266aa99d1601b47bbd3ec22affbb81c?d=identicon&s=25 B.R. (Guest)
on 2014-06-26 20:24
(Received via mailing list)
Hello,

I recently stumbled into a situation where I could not seem to find a
way
of disabling unwanted errors being logged.

Configuration:
location / {
    try_files $uri $uri/ @https;
}

location @https {
    return 301 https://$host$request_uri;
}

That works well for locations like '/foo' where it falls back to https
server.

However, when accessing root location '/', the '$uri/' part of the
try_files directive produces a 403 'directory index [...] is forbidden'.

I thought that adding 'error_page 403 @https;' to the prefix location
would
override it, but no.

I also tried to use 'error_page 403 = @https;' to pass error processing
to
the named location, hoping for the 301 redirection would cancel it.
Of course, that did not happen. ^^

Here are the solutions I envision, though none of them satisfy me:
1°) Using 'autoindex on;' in the prefix location: that is not the wanted
behavior
2°) Using 'try_files $uri @https;' in the prefix location would avoid
directory existence try... Although display of location /test if test is
an
existing directory won't happen and fallback to he HTTPS server will
occur.
That is not the wanted behavior
3°) Using 'error_page 403 = @https;' in the prefix location, then use
'error_log /dev/null;' in the named one, but that looks ugly, more like
a
'hack'.
Moreover, it does not seem to work.

What to do then?

Since it seems I cannot prevent 403 to spawn out of the prefix location,
is
there a way to send it to the named one and then trap it/ignore it
there?

Thanks,
---
*B. R.*
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.