nginx拒绝通过代理传递给上游的位置的位置访问

时间:2019-05-30 05:38:24

标签: nginx reverse-proxy proxypass

我有一个像这样的Nginx服务器配置:

location / {
                proxy_pass http://backend/;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                proxy_set_header Host $http_host;

                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forward-Proto http;
                proxy_set_header X-Nginx-Proxy true;

                proxy_redirect off;
                limit_except GET POST{
                        deny all;
                }
        }

,我想拒绝对/path/subpath之类的URL的任何访问。我试图用嵌套的位置来制作它,例如:

location / {
    ....
    location ^~ /path/subpath {
        deny all; # another option is return 403/404
    }
}

但是它不起作用。还尝试了在根位置部分之外的拒绝部分。尽管如此,Nginx仍然可以直接重定向到任何直接向上游的请求,而忽略conf内部的设置。

有什么建议吗?

0 个答案:

没有答案