Linux

[Linux] Apache 에러 설정 httpd-multilang-errordoc.conf

thdwldud 2025. 12. 22. 21:24

httpd-multilang-errordoc.conf

  • 웹서버 운영 중에 발생하는 여러 가지 에러에 대해 상황에 따라 제공되는 문서에 대한 설정을 진행하는 파일
  • 이 파일을 사용하려면 httpd.conf 파일에서 2가지 부분을 활성화 (#주석제거)해야 함
    • LoadModule 항목에서 mod_userdir.so, mod_negotiation.so
    • Include 항목에서 httpd-multilang-errordoc.conf 
  • 에러 문서 디렉터리에 별칭을 부여하여 단축하는 설정
    • Alias /error/ "/usr/local/apache/error/"
  • 에러 디렉터리에 대한 접근 설정, 언어 설정 관련 우선 순위 등을 설정
<Directory "/usr/local/apache/error">
		AllowOverride None
		Options IncludesNoExec
		AddOutputFilter Includes html
		AddHandler type-map var
		Require all granted
		Language Priority en cs de es fr it ja ko nl pl pt-br ro sv tr
		ForceLanguagePriority Prefer Fallback
	</Directory>
  • 에러 코드별로 제공되는 문서에 대한 예
ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWD.html.var
ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
ErrorDocument 410 /error/HTTP_GONE.html.var
ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var
ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
ErrorDocument 501 /error/HTTP_NOT_IMPLEMNTED.html.var
ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

 

💡위치 / 옵션 찾기

에러 설정 페이지

  • errordoc 이라는건 암기!

httpd-multilang-errordoc.conf 파일 위치

  • find / -name *errordoc.conf
    • /usr/local/apache/conf/extra/httpd-multilang-errordoc.conf

httpd.conf 파일 내 활성화 항목

  • cat /usr/local/apache/conf/httpd.conf | grep errordoc 또는 egrep 'errordoc' /usr/local/apache/conf/httpd.conf
    • LoadModule userdir_module modules/mod_userdir.so => 이건 암기 필요
      LoadModule negotiation_module modules/cod_negotiation.so => 이건 암기 필요
    • Includ conf/extra/httpd-multilang-errordoc.conf

에러 코드 별 문서 예시

  • vi /usr/local/apache/conf/extra/httpd-multilang-errordoc.conf
    • 에러 코드 설명에 대한 내용 확인 가능 
      • ex. 접근 불가 : forbidden -> 403
      • ex. 인증되지 않음 : unauthorized -> 401