GOOGLE ADS

суббота, 7 мая 2022 г.

Nginx запрещает, если местоположение содержит

Как запретить доступ к nginx, если в пути есть /local или /local-int ко всем сетям, кроме локальной? Например https://example.com/api/local/settings. Я пробовал это, но при локальном доступе запрос идет в /etc/nginx/html/api/local/settings, а не в нужный бэкенд

location = (local|local-int) {
allow 10.150.0.0/16;
allow 10.160.0.0/16;
allow 10.170.0.0/16;
deny all;
}

У меня около 20 таких сайтов, и я пытаюсь придумать решение, которое бы не было привязано к конкретной локации

Резюмирую: если я захожу на сайт с разрешенного ip, то он должен показывать страницу, на которую я захожу, а если с запрещенного списка, то 403

Пример конфигурации:

server {
listen ip:80;
listen ip:443 ssl;
server_name test.com;
if_modified_since off;

location /api {
proxy_pass https://api.example.com;
}
location ~ (\/local) {
allow 10.150.0.0/16;
allow 10.160.0.0/16;
allow 10.170.0.0/16;
deny all;
}
}

Решение проблемы

Это будет просто работать с обоими вашими locations, так как оба начинаются с/local

location ~ (\/local) {
allow 10.150.0.0/16;
allow 10.160.0.0/16;
allow 10.170.0.0/16;
deny all;
}

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...