시스템을 운영하다 보면 정기 PM 또는 시스템 이슈 발생 시, 공지 페이지를 띄울 때가 생기곤 합니다. 

그래서 특정 IP (관리자 또는 접속이 반드시 필요한..유저의 IP)에 대해서만 시스템 디렉토리에 접근을 가능하게 하고 그 외에 IP에 대해서는 공지 페이지로 이동하게 하는 설정을 알아보았습니다. 

 

초기페이지는 index.jsp 로 jsp 확장자에 대해서 뒷단의 WAS에서 처리하게 하여 nignx.conf에 기본 설정을 하였습니다. 

location ~ \.jsp$ {
 proxy_pass http://IP:PORT;
} 

 

이후 허용이 필요한 IP(11.111.11.1)에 대해서만 접근 설정을 합니다. 

location ~ \.jsp$ {
 proxy_pass http://IP:PORT; 
 ## Admin IP ## 
 allow 11.111.11.1; 
 deny all;
 

이제 설정을 한 IP 이외에는 초기페이지 호출 시, 403 Forbidden이 발생하게 됩니다. 

그리고 403 Forbidden을 처리하기 위하여 공지 페이지(notice.html)를 NginX 소스 디렉토리에

올려두고 아래와 같이 설정합니다.

 

location ~ \.jsp$ {
 proxy_pass http://WAS_IP:PORT;
 ## Admin IP ##
 allow 11.111.11.1;
 deny all;
 error_page 403 http://WEB_IP:PORT/notice.html;
}

 

이제 설정한 특정 IP를 제외하고는 index.jsp 호출 시, notice.html이 호출 되어 해당 페이지로 이동하게 됩니다. ^_^

 

 

추가로 error_page 설정에 대해서 아래와 같이 상대디렉토리, 파일을 선언하면, 해당 파일이 호출되지 않고 계속 403 Forbidden이 발생하였습니다. 

location ~ \.jsp$ {
  proxy_pass http://WAS_IP:PORT;
  ## Admin IP ##
  allow    11.111.11.1;
  deny     all;
  error_page 403 /notice.html; 
}

 

이상입니다.