NGINX 거부 규칙은 언제 적용되나요?

NGINX 거부 규칙은 언제 적용되나요?

server 80다음을 포함하는 return지시문 이 있습니다 allow/deny.

...
server {

    server_name    dev.monitor.domain.ms;
    listen         80;

    allow 194.***.45;
    allow 37.***.130;
    deny  all;

    return 301 https://dev.monitor.domain.ms$request_uri;
}
...

.serverlisten 443

따라서 여기서 질문은 return 301액세스가 허용되지 않는 IP에 대해서도 여기서 작동하는 이유는 무엇입니까?

마지막으로 - 실제로 연결할 수 없어서 allow/deny작동하지만...

예:

$ curl -vL dev.monitor.domain.ms
* About to connect() to dev.monitor.domain.ms port 80 (#0)
...
< HTTP/1.1 301 Moved Permanently
 ...
< Location: https://dev.monitor.domain.ms/
...
* Issue another request to this URL: 'https://dev.monitor.domain.ms/'                                                                                                                                                                            
* About to connect() to dev.monitor.domain.ms port 443 (#1)                                                                                                                                                                                      
*   Trying 40.***.***.237... Connection timed out                                                                                                                                                                                              
* couldn't connect to host                                                                                                                                                                                                                    
* Closing connection #1                                                                                                                                                                                                                       
curl: (7) couldn't connect to host

allow/deny블록 에 추가해도 마찬가지입니다 http {}. 그렇다면 언제, 어디서 이러한 제한을 확인해야 할까요?

ngx_http_access_module문서에는 이에 대해 아무 것도 언급되어 있지 않습니다.

답변1

denyNginx의 모든 해당 위치에 적용됩니다.
위치를 정의하지 않았으므로 적용되지 않습니다.

리디렉션을 다음 위치에 넣어보세요.

location / {
    return 301 https://dev.monitor.domain.ms$request_uri;
}

그러나 이는 지정된 호스트에 대한 보안을 제공하지 않습니다.
여전히 HTTPS 호스트 내에서 권한을 확인해야 합니다.

관련 정보