nginx запрещает доступ к локации в локации, которая является прокси, переданным в апстрим - PullRequest
0 голосов
/ 30 мая 2019

У меня есть такая конфигурация сервера 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;
                }
        }

, и я хотел бы запретить любой доступ к URL-адресу, например /path/subpath.Я пытался сделать это с вложенным расположением, как:

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

Но это не работает.Также попробовал запретить часть вне корневого местоположения.Тем не менее, Nginx точно перенаправляет на любой запрос напрямую восходящий поток и игнорирует настройки внутри конф.

Любой совет?

...