<div dir="ltr"><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Hello,<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">I recently stumbled into a situation where I could not seem to find a way of disabling unwanted errors being logged.<br>


<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Configuration:<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">location / {<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">


    try_files $uri $uri/ @https;<br></div>}<br><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)"><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">location @https {<br>


</div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">    return 301 https://$host$request_uri;<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">}<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">


That works well for locations like '/foo' where it falls back to https server.<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">However, when accessing root location '/', the '$uri/' part of the try_files directive produces a 403 'directory index [...] is forbidden'.<br>


<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">I thought that adding 'error_page 403 @https;' to the prefix location would override it, but no.<br><br>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.<br>


</div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Of course, that did not happen. ^^<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">Here are the solutions I envision, though none of them satisfy me:<br>

1°) Using 'autoindex on;' in the prefix location: that is not the wanted behavior<br>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<br>

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'.<br>Moreover, it does not seem to work.<br>
</div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">
<br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">What to do then?<br><br></div><div class="gmail_default" style="font-size:small;color:rgb(51,51,153)">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?<br>

<br>Thanks,</div><div><font size="1"><span style="color:rgb(102,102,102)">---<br></span><b><span style="color:rgb(102,102,102)">B. R.</span></b><span style="color:rgb(102,102,102)"></span></font></div>
</div>