반응형

Apache ErrorDocument 설정 따라하기



apache 서버를 운영 중 오류 발생 시


 - 404 not found error 

 - 500 Internal Server Error 


등의 에러메세지가 그대로 노출됩니다.



개발시 에러메세지가 노출되면

오류메세지를 바로 확인 가능하기 때문에

개발하는 입장에서는 수정개발이

용이한 장점이 있습니다.




하지만 시스템 운영시에는??



일반 사용자가 알 수 없는 에러메시지를 봐야 할 필요가 있을까요?


A : "페이지 개발이 덜 되었네~"

B : "누가 개발한건지 디테일이 부족하네"

C : "우리가 쓰는 시스템에 심각한 문제가 있는거 아니야?"

D : "다른 기능은 정상동작하고 있는게 맞을까??"


이런 생각을 할 수도 있습니다.




또한 오류발생 시 서버 경로도 노출되기 때문에

프로그램을 조금이라도 아는 사람이

의도치 않은 경로로 접속할수도 있습니다.




위의 상황을 사전방지하기 위해선

오류발생 시 개발자가 의도한 화면이 

보여지도록 처리해야 합니다.




그럼 아파치 서버 내 에러페이지 전환방법을 알아보겠습니다.







1. httpd.conf 파일


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



아파치 서버 설치시 ErrorDocument 에 기본값이며,

3가지 방법으로 사용할 수 있는 것을 확인할 수 있습니다.

활성화 하는 방법은 vi 편집기를 이용하여 # 으로 된 주석을 풀거나

내려받아서 수정 후 다시 업로드 하면 되겠죠?






- 텍스트 표시

      : 입력된 text 를 표시해줍니다.


- 서버 내부 전환

      : 서버내 만들어 놓은 페이지로 전환합니다.


- 외부 경로 전환

      : 외부 페이지로 전환합니다.




텍스트 표시와 외부경로전환은 바로 입력하면 되는데 

서버내부전환은 어떻게 할까요?



2. DocumentRoot

서버내부전환은 root path 로 인식하는 DocumentRoot 를 확인합니다.


아파치 서버 설치 시 기본설정값은 아래위치입니다.



DocumentRoot "설치경로/htdocs"



ErrorDocument 404 "/errorpage/error404.html"
ErrorDocument 500 "/errorpage/error500.html"



위와 같이 작성하면 "설치경로/htdocs/errorpage/error404.html" 에 있는 페이지로 전환하게 되니

기본 root path 를 변경하시려면 DocumentRoot 의 경로를 변경해주시면 됩니다.


또한, 예제에서는 double quotation 이 빠진 상태로 나와있는데

RHEL 과 CentOS 에서는 double quotation 을 입력해야 정상적으로 작동을 합니다.



잘 안되거나 추가로 궁금한 부분이 있으면 밑에 댓글 달아주세요^^

반응형
블로그 이미지

나남나여

일상 제품리뷰와 맛집/여행/사진을 좋아하고 IT 관련 프로그래밍 초급 & 고급 정보를 공유하는 블로그

,