Nginx разрешает только определенные пути API

Nginx разрешает только определенные пути API

Я новичок в 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;
}

Связанный контент