posts

error

Oct 1, 2025 updated Oct 1, 2025 architectureerrors

예를 들어, 아래와 같이 그룹핑하여 설정할 수 있습니다:

error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 /custom_4xx.html; error_page 500 501 502 503 504 505 /custom_5xx.html;

이렇게 하면 4xx 계열 에러는 모두 /custom_4xx.html 파일을, 5xx 계열 에러는 /custom_5xx.html 파일을 반환하게 됩니다.
즉, 두 개의 에러 페이지 파일만 만들어도 충분합니다.

아울러, 각 에러코드가 의미하는 바를 간단히 정리하면 다음과 같습니다:

4xx 클라이언트 오류 (요청 관련 문제)

  • 400 Bad Request: 클라이언트의 요청 문법 오류 등으로 인해 서버가 요청을 이해할 수 없음.
  • 401 Unauthorized: 인증이 필요한 요청이지만 인증 정보가 없거나 유효하지 않음.
  • 402 Payment Required: 현재는 거의 사용되지 않는 결제 요구(예약 상태).
  • 403 Forbidden: 서버가 요청을 이해했지만, 접근 권한이 없어 거부됨.
  • 404 Not Found: 요청한 자원을 서버에서 찾을 수 없음.
  • 405 Method Not Allowed: 요청한 HTTP 메소드가 해당 리소스에서 허용되지 않음.
  • 406 Not Acceptable: 클라이언트가 요청한 형식으로 응답을 제공할 수 없음.
  • 407 Proxy Authentication Required: 프록시 서버에서 인증이 필요함.
  • 408 Request Timeout: 클라이언트의 요청 시간이 초과됨.
  • 409 Conflict: 요청이 현재 서버 상태와 충돌하여 처리할 수 없음.
  • 410 Gone: 요청한 자원이 서버에서 영구적으로 사라짐.
  • 411 Length Required: 요청에 Content-Length 헤더가 누락되어 있음.
  • 412 Precondition Failed: 요청에 설정된 전제 조건이 서버에서 충족되지 않음.
  • 413 Payload Too Large: 요청 본문이 서버가 처리할 수 있는 크기를 초과함.
  • 414 URI Too Long: 요청한 URL이 너무 길어 서버가 처리할 수 없음.
  • 415 Unsupported Media Type: 요청한 데이터의 미디어 타입이 지원되지 않음.

5xx 서버 오류 (서버 자체의 문제)

  • 500 Internal Server Error: 서버 내부에서 예기치 못한 오류가 발생함.
  • 501 Not Implemented: 요청한 기능이 서버에 의해 지원되지 않음.
  • 502 Bad Gateway: 게이트웨이나 프록시 서버가 상위 서버로부터 잘못된 응답을 받음.
  • 503 Service Unavailable: 서버가 과부하 또는 점검 등으로 인해 일시적으로 서비스를 제공할 수 없음.
  • 504 Gateway Timeout: 게이트웨이나 프록시 서버가 상위 서버의 응답을 제 시간에 받지 못함.
  • 505 HTTP Version Not Supported: 요청에 사용된 HTTP 버전이 서버에서 지원되지 않음.

따라서, 보안 요구사항에 맞게 에러 페이지를 설정하는 방법은 모든 관련 에러코드에 대해 적절한 페이지를 지정하는 것이며,
꼭 각각의 에러코드마다 개별 파일을 만들 필요 없이 4xx와 5xx처럼 범주별로 그룹화하여 하나의 공통 에러 페이지를 사용하는 방법이 일반적입니다.