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>

편집 : Apache에 대한 솔루션을 제공했지만 nginx가 필요했습니다.위치지시문은 nginx에도 존재합니다.

location /api/* {
    allow all;
}

location /api/admin {
    deny all;
}

관련 정보