본문 바로가기

서버운영 (TA, ADMIN)/미들웨어

[Nginx] nginx 정적 페이지 POST 활성화 방법

Nginx error_page redirect 설정 이용

nginx는 기본적으로 정적 파일로 POST 요청 처리를 허용하지 않는데, nginx 설정을 수정하여 POST 처리를 우회할 수 있다. 해당 site/domain을 위한 설정을 확인해보면, location 블록이 존재할 것이다.

location / {
  error_page 405 =200 $uri;
  ...

=200은 오타가 아니며, = 뒤에 공백을 추가하면 동작하지 않을 것이다. 위 설정은 405 응답도 200(OK) 응답으로 내려가도록 설정한 것이다. 

 

웹서버를 다시 시작하기전에 구성이 올바른지 확인하려면 아래 명령을 실행하여, 문법이 올바른지 미리 확인해볼 수 있다.

/usr/sbin/nginx -t

문법에 이상이 없음을 확인하면, nginx 서버를 reload 하면 된다.

/usr/sbin/nginx -s reload

Nginx HTTP Method 제한 설정 이용

nginx.conf에서 각 location 설정마다 limit_except 설정을 추가할 수 있다. 다음은 GET, POST 메소드 이외의 요청을 deny 하는 설정이다.

location / {
    limit_except GET POST {
        deny all;
    }
}