I think the problem is the order of your deny and allow statements. Nginx 
processes them in turn. So nginx reads the allow one okay, but then reads the 
subsequent one as "deny all (including 10....)". Hence xls are denied to all.

If you swap the order then it should work as intended (assuming the files exist 
and are in the right doc root, etc).



On 18 June 2021 15:32:51 BST, baalchina <baalch...@gmail.com> wrote:
>Hi all,
>I am using nginx as my reverse proxy, and I do not want all Excel files in
>my server to be accessed in the internet. So I add this in my nginx.conf:
>
>    location ~* \.(xls|xlsx)$ {
>       allow 10.0.0.0/8;
>        deny all;
>    }
>
>while my intranet address is 10.0.0.0/8. I found in internet, nginx return
>a 403 error, that's correct.
>
>But in my intranet, which ip in 10.0.0.0/8, nginx return a 404 error. I
>looked the error.log, it return like this:
>
>[nginx][error] open() "/etc/nginx/html/_upload/article/files/d7/c2.xlsx"
>failed (2: No such file or directory), client: 10.0.0.1, server: xxxxx
>request: "GET /_upload/article/files/d7/c2.xlsx HTTP/1.1", host: "xxx",
>referrer: "xxx"
>
>So, is there anything wrong in my config file?
>
>Thanks.
>
>
>-- 
>from:baalchina
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to