본문 바로가기
Linux/Web Server

apache - HTTP 403 / 404 ERROR 설정

by aegypius 2020. 5. 29.
728x90
반응형

  웹서버 운영중에 http 403, 404, 500(은 ..-_-) 등의 오류가 발생하면 기본 오류 메시지가 출력된다. 이러한 오류 페이지도 사이트의 일부라고 생각하여 전체 사이트의 디자인에 맞춰서 새롭게 만드는 경우는 흔하다. 보안상의 문제로 새로 만들기도 한다. 오류코드와 경로 등의 노출을 막기 위함이다.

  아파치를 사용하고 있다면 httpd.conf의 하단에 아래와 같이 기본값이 정의되어 있다.

#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html

  특정 오류에 대한 짧은 메시지 출력을 원한다면 " " 사이에 메시지를 넣어주면 된다. 첫 번째 줄이 좋은 예다. 세 번째 줄과 같이 " " 안에 실행할 스크립트 파일의 경로를 지정하는 방법도 있나보다(안해봤다). 네 번째 줄과 같이 웹상에 해당 오류에 대한 안내 페이지를 만들어 두고 url을 지정하여 보여주는 방법도 있다. 즉, 사이트에 별도의 오류안내 페이지를 만들어 두고 이를 보여주는 것이다.(html 링크를 걸어두는 듯한...) 두 번째 줄과 같이 미리 문서를 만들어 놓고 경로를 지정하여 보여줄 수도 있다. 이 방법은 하나의 서버에서 사이트를 하나만 운영하는 것이 아니라면 각각의 가상호스트 설정 파일에서 별도로 지정해주어야 한다. 아래와 같다.

ServerName mydomain.kr
DocumentRoot /home/myaccount/mydomain.kr/public_html
ErrorLog ~
CustomLog ~
ErrorDocument 403 "/error/er403.html"
ErrorDocument 404 "/error/er404.html"

  위의 예에서 HTTP 404 ERROR가 발생하게되면 /home/myaccount/mydomain.kr/public_html/error/er404.html이 웹브라우저에 출력된다. httpd.conf와 vhost 모두 동일한 오류에 대해서 설정해 두었다면 최종설정은 vhost의 설정에 따른다.

 

참고

2021.06.07 - [Linux/Web Server] - apache - HTTP 30x [URL Redirection]

 

apache - HTTP 30x [URL Redirection]

Redirect 지시어는 클라이언트가 다른 url에 연결되도록 기존의 url을 새로운 url로 대응시킨다. 즉, old-url.tld의 접속요청을 new-url.tld로 바꾸어준다. 예를 들어 ebomun.com의 가상호스트 설정에서 Redirect.

aegypius.tistory.com


728x90
반응형

댓글