![Nginx разрешает только определенные пути API](https://rvso.com/image/747374/Nginx%20%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B0%D0%B5%D1%82%20%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5%20%D0%BF%D1%83%D1%82%D0%B8%20API.png)
Я новичок в Nginx и у меня есть следующая конфигурация в Nginx
server {
location /api {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Итак, предположим, что если доступ пользователя hostname/api/{{anything}}
должен бытьРазрешите им доступ
но пользователь пытается получить к нему доступ hostname/api/admin
, ему должно быть отказано. Так как же мне этого добиться?
Спасибо
решение1
Вы можете указать пути в конфигурации следующим образом: см. соответствующий документздесь
<Location /api/*>
Order Allow,Deny
Allow from all
</Location>
<Location /api/admin>
Order Allow,Deny
Deny from all
</Location>
EDIT: Предоставлено решение для Apache, но требовался nginx.РасположениеДиректива также существует в nginx:
location /api/* {
allow all;
}
location /api/admin {
deny all;
}