맨위로가기

HTTP 403

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

HTTP 403 오류는 클라이언트가 서버의 리소스에 접근할 권한이 없음을 나타내는 HTTP 상태 코드이다. 이는 서버가 클라이언트의 요청을 이해했지만 의도적으로 접근을 허용하지 않는 경우 발생하며, 인증 실패를 의미하는 HTTP 401 오류와 구별된다. 403 오류는 권한 부족, IP 주소 제한, 서버 설정 오류, 방화벽 문제, 또는 인증 요구 등의 다양한 원인으로 발생할 수 있다. 마이크로소프트 IIS는 403 오류에 대한 더 자세한 하위 상태 코드를 제공하며, 아파치 웹 서버는 디렉토리 목록이 비활성화되었거나 특정 요청을 차단할 때 403 오류를 반환한다.

더 읽어볼만한 페이지

  • HTTP 상태 코드 - HTTP 302
    요청한 리소스가 일시적으로 다른 위치로 이동되었음을 나타내는 HTTP 응답 코드 302는 서버가 제공하는 `Location` 헤더의 URL로 클라이언트를 리디렉션시킨다.
  • HTTP 상태 코드 - HTTP 404
    HTTP 404 오류는 웹 서버가 요청된 리소스를 찾을 수 없을 때 반환하는 상태 코드로, 웹 페이지 접속 시 흔히 발생하며, 웹사이트들은 맞춤형 페이지를 제공하거나 검열의 수단으로 사용하기도 하고, IIS는 하위 상태 코드를 제공하며, 다양한 도구로 추적 및 관리할 수 있다.
  • 컴퓨터 오류 - 블루스크린
    블루스크린은 윈도우 운영체제에서 발생하는 치명적인 오류로, 컴퓨터 작동을 멈추고 파란색 화면에 오류 메시지를 표시하며, 하드웨어 또는 소프트웨어 문제로 인해 발생하고, 시스템 복원, 안전 모드 부팅 등의 방법으로 대처한다.
  • 컴퓨터 오류 - 글리치
    글리치는 예기치 않은 오작동이나 오류를 뜻하며, 전자 공학, 컴퓨터, 비디오 게임, 텔레비전 방송, 대중문화 등 다양한 분야에서 기능 실패, 오류, 그래픽 및 사운드 문제, 신호 오류 등의 이상 현상을 포괄적으로 지칭하는 용어이다.
HTTP 403
HTTP 상태 코드
상태 코드403
상태 설명Forbidden (금지됨)
일반 정보
용도클라이언트가 접근 권한이 없는 리소스에 대한 요청 시 서버가 응답하는 HTTP 상태 코드
의미서버가 요청을 이해했지만 클라이언트가 접근 권한이 없음을 나타냄
원인클라이언트가 접근하려는 리소스에 대한 권한이 없음
서버가 요청을 거부함
해결 방법클라이언트의 접근 권한을 확인하고 필요한 경우 권한을 요청함
서버 설정을 확인하고 필요한 경우 접근 권한을 변경함
표준
RFC 72316.5.3 403 Forbidden
RFC 491811.2 403 Forbidden

2. 상세 설명

403 Forbidden 오류는 클라이언트가 요청한 리소스에 접근할 권한이 없을 때 발생한다. 서버는 클라이언트의 요청을 이해했지만, 의도적으로 접근을 허용하지 않는 것이다.

아파치 HTTP 서버는 서버에서 디렉터리 목록이 비활성화되어 있고 브라우저에 반환될 기존 파일을 지정하는 디렉토리 인덱스 지시어가 없는 경우 URL[3] 경로 요청에 대해 403 Forbidden을 반환한다. 이러한 경로는 파일 시스템 디렉토리에 해당한다. 일부 관리자는 아파치의 Mod 프록시 확장을 구성하여 이러한 요청을 차단하며, 이 역시 403 Forbidden을 반환한다. 마이크로소프트 IIS는 해당 서버에서 디렉터리 목록이 거부될 때 동일한 방식으로 응답한다. WebDAV에서 클라이언트가 PROPFIND 요청을 발행했지만 필요한 Depth 헤더도 발행하지 않거나 무한대의 Depth 헤더를 발행한 경우 서버는 403 Forbidden 응답을 반환한다.[3]

다음은 IIS 등에서 HTTP 응답 본문에 포함하는 코드이다.

코드설명
403.1실행 액세스 금지
403.2읽기 액세스 금지
403.3쓰기 액세스 금지
403.4SSL 필요
403.5SSL128 필요
403.6IP 주소 거부
403.7클라이언트 인증서 필요
403.8사이트 액세스 거부
403.9혼잡
403.10의도적인 설정
403.11비밀번호 변경
403.12관리자에 의한 액세스 거부
403.13클라이언트 인증서 만료
403.14디렉터리 목록 거부
403.15클라이언트 액세스 인증서 초과
403.16클라이언트 인증서의 신뢰성이 낮거나 무효
403.17클라이언트 인증서가 만료되었거나 유효 기간 시작 전
403.18애플리케이션 풀에 의한 요청 실행 불가
403.19애플리케이션 풀에 의한 CGI 애플리케이션 실행 불가
403.20여권 로그온 실패
403.21소스 액세스 거부
403.22무한 깊이 거부


2. 1. 401 Unauthorized와의 차이점

HTTP 403은 HTTP 401과 구별된다. HTTP 401은 클라이언트가 인증되지 않은 경우 반환되며, 유효한 인증 후에 성공적인 응답이 반환될 수 있음을 의미한다. 반면, HTTP 403은 인증된 계정의 권한 부족과 같이 인증을 제공했음에도 불구하고 클라이언트가 리소스에 접근할 수 없을 때 반환된다.[1]

오류 403: "서버는 요청을 이해했지만, 이를 승인하는 것을 거부합니다."[1]

오류 401: "요청은 사용자 인증을 필요로 합니다. 응답은 요청된 리소스에 적용 가능한 챌린지를 포함하는 WWW-Authenticate 헤더 필드(14.47절)를 반드시 포함해야 합니다. 클라이언트는 적절한 Authorization 헤더 필드(14.8절)로 요청을 반복할 수 있습니다. 요청에 이미 Authorization 자격 증명이 포함된 경우, 401 응답은 해당 자격 증명에 대한 권한 부여가 거부되었음을 나타냅니다."[2]

3. 원인

HTTP 403 상태 코드는 다음과 같은 이유로 발생할 수 있다.[4]


  • 권한 부족: 사용자가 요청된 리소스에 접근하는 데 필요한 권한이 없는 경우이다.
  • 인증 필요: 서버가 특정 리소스에 접근하기 위해 인증을 요구하는 경우이다.
  • IP 제한: 서버가 특정 IP 주소 또는 IP 범위에 대한 접근을 제한하는 경우이다.
  • 서버 구성: 서버의 구성으로 웹 사이트의 특정 파일, 디렉토리 또는 영역에 대한 접근을 금지하는 경우이다.
  • 방화벽 또는 보안 소프트웨어: 방화벽 또는 보안 소프트웨어가 리소스에 대한 접근을 차단하는 경우이다.


이는 사용자가 로그인하지 않았거나, 유효한 자격 증명을 제공하지 않았거나, 해당 리소스에 접근할 수 있는 적절한 사용자 그룹에 속하지 않음을 의미할 수 있다. 또한 서버 설정 오류나 서버 관리자가 의도적으로 제한을 했을 수도 있으며, 보안 정책, 멀웨어 감지 또는 기타 보안 조치로 인해 발생할 수도 있다.

3. 1. 일반적인 원인

HTTP 403 오류는 다음과 같은 일반적인 원인으로 발생할 수 있다.[4]

  • 권한 부족: 사용자가 요청한 리소스에 접근할 권한이 없는 경우이다. 사용자가 로그인하지 않았거나, 유효한 자격 증명을 제공하지 않았거나, 해당 리소스에 접근할 수 있는 적절한 사용자 그룹에 속하지 않을 때 발생한다.
  • 인증 필요: 서버가 특정 리소스에 접근하기 위해 인증을 요구하는 경우이다. 사용자가 유효한 자격 증명을 제공하지 않거나 인증에 실패하면 이 오류가 발생한다.
  • IP 제한: 서버가 특정 IP 주소 또는 IP 주소 범위에 대한 접근을 제한하는 경우이다. 사용자의 IP 주소가 허용된 목록에 없으면 이 오류가 발생한다.
  • 서버 구성: 서버 설정에 따라 웹 사이트의 특정 파일, 디렉토리 또는 영역에 대한 접근이 금지될 수 있다. 이는 설정 오류 또는 서버 관리자의 의도적인 제한 때문에 발생할 수 있다.
  • 방화벽 또는 보안 소프트웨어: 방화벽이나 보안 소프트웨어가 리소스 접근을 차단하면 이 오류가 발생할 수 있다. 이는 보안 정책, 멀웨어 감지, 또는 기타 보안 조치 때문에 발생할 수 있다.

3. 2. 웹 서버별 원인 (IIS, Apache)

아파치 웹 서버는 서버에서 디렉터리 목록이 비활성화되어 있고, 브라우저에 반환될 기존 파일을 지정하는 디렉터리 인덱스 지시어가 없는 경우 URL 경로에 대한 요청에 대해 403 Forbidden을 반환한다.[3] 이러한 경로는 파일 시스템 디렉토리에 해당한다. 일부 관리자는 아파치의 Mod 프록시 확장을 구성하여 이러한 요청을 차단하며, 이 역시 403 Forbidden을 반환한다. 마이크로소프트 IIS는 해당 서버에서 디렉터리 목록이 거부될 때 동일한 방식으로 응답한다. WebDAV에서 클라이언트가 PROPFIND 요청을 발행했지만 필요한 Depth 헤더도 발행하지 않거나 무한대의 Depth 헤더를 발행한 경우 서버는 403 Forbidden 응답을 반환한다.[3]

IIS는 403 오류에 대해 더 자세한 하위 상태 코드를 제공한다.

코드설명
403.1실행 액세스 금지
403.2읽기 액세스 금지
403.3쓰기 액세스 금지
403.4SSL 필요
403.5SSL128 필요
403.6IP 주소 거부
403.7클라이언트 인증서 필요
403.8사이트 액세스 거부
403.9혼잡
403.10의도적인 설정
403.11비밀번호 변경
403.12관리자에 의한 액세스 거부
403.13클라이언트 인증서 만료
403.14디렉터리 목록 거부
403.15클라이언트 액세스 인증서 초과
403.16클라이언트 인증서의 신뢰성이 낮거나 무효
403.17클라이언트 인증서가 만료되었거나 유효 기간 시작 전
403.18애플리케이션 풀에 의한 요청 실행 불가
403.19애플리케이션 풀에 의한 CGI 애플리케이션 실행 불가
403.20여권 로그온 실패
403.21소스 액세스 거부
403.22무한 깊이 거부


4. IIS 하위 상태 코드

마이크로소프트 인터넷 정보 서비스(IIS)는 403 오류에 대해 더 구체적인 원인을 나타내는 비표준 하위 상태 코드를 사용한다. 이 코드는 IANA에 의해 공식적으로 인정되지는 않는다.[6]

IIS에서 사용하는 403 하위 상태 코드는 다음과 같다.

코드설명
403.19이 응용 프로그램 풀의 클라이언트에 대해 CGI를 실행할 수 없음
403.20Passport 로그온 실패
403.21소스 접근 거부
403.22무한 깊이 거부됨
403.502동일한 클라이언트 IP에서 너무 많은 요청; 동적 IP 제한에 도달함
403.50IP 주소 제한으로 인해 거부됨


4. 1. 실행, 읽기, 쓰기 관련

다음은 마이크로소프트IIS 기준의 오류 메시지이다.

코드설명
403.1실행 접근 금지
403.2읽기 접근 금지
403.3쓰기 접근 금지
403.4SSL 필요
403.5SSL 128 필요
403.6IP 주소 거부
403.7클라이언트 인증서 필요
403.8사이트 접근 거부
403.9너무 많은 사용자
403.10잘못된 구성
403.11암호 변경
403.12매퍼가 접근을 거부함
403.13클라이언트 인증 철회(무효)
403.14디렉터리 나열 거부
403.15클라이언트 접근 라이선스 수 초과
403.16클라이언트 인증서를 신뢰할 수 없거나 유효하지 않음
403.17클라이언트 인증서의 기간이 초과되었거나 아직 유효하지 않음
403.18해당 응용 프로그램 풀로부터 요청을 실행할 수 없음



en.Wikipedia 오류 메시지

4. 2. SSL 관련

다음은 IIS 기준의 SSL 관련 오류 코드이다.[6]

코드설명
403.4SSL 필요
403.5SSL 128 필요
403.7클라이언트 인증서 필요
403.13클라이언트 인증 철회(무효)
403.16클라이언트 인증서를 신뢰할 수 없거나 유효하지 않음
403.17클라이언트 인증서의 기간이 초과되었거나 아직 유효하지 않음


4. 3. 클라이언트 인증서 및 IP 관련

코드설명
403.6IP 주소 거부
403.7클라이언트 인증서 필요
403.13클라이언트 인증서 철회(무효)
403.16클라이언트 인증서를 신뢰할 수 없거나 유효하지 않음
403.17클라이언트 인증서의 기간이 초과되었거나 아직 유효하지 않음
403.50IP 주소 제한으로 인해 거부됨[6]
403.502동일한 클라이언트 IP에서 너무 많은 요청; 동적 IP 제한에 도달함[6]


4. 4. 서버 설정 및 기타

아래는 IIS 기준의 오류 메시지이다.

코드설명
403.1실행 접근 금지
403.2읽기 접근 금지
403.3쓰기 접근 금지
403.4SSL 필요
403.5SSL 128 필요
403.6IP 주소 거부
403.7클라이언트 인증서 필요
403.8사이트 접근 거부
403.9너무 많은 사용자
403.10잘못된 구성
403.11암호 변경
403.12매퍼가 접근을 거부함
403.13클라이언트 인증 철회(무효)
403.14디렉터리 나열 거부
403.15클라이언트 접근 라이선스 수 초과
403.16클라이언트 인증서를 신뢰할 수 없거나 유효하지 않음
403.17클라이언트 인증서의 기간이 초과되었거나 아직 유효하지 않음
403.18해당 응용 프로그램 풀로부터 요청을 실행할 수 없음



다음 비표준 코드는 마이크로소프트의 인터넷 정보 서비스에서 반환되며, IANA에 의해 공식적으로 인정되지 않는다.[6]


  • 403.19 – 이 응용 프로그램 풀의 클라이언트에 대해 CGI를 실행할 수 없음
  • 403.20 – Passport 로그온 실패
  • 403.21 – 소스 접근 거부
  • 403.22 – 무한 깊이 거부됨
  • 403.502 – 동일한 클라이언트 IP에서 너무 많은 요청; 동적 IP 제한에 도달함
  • 403.50 – IP 주소 제한으로 인해 거부됨


HTTP 응답의 본문 등에 다음 코드를 포함하는 서버도 있다 (IIS 등).

코드설명
403.1실행 액세스 금지
403.2읽기 액세스 금지
403.3쓰기 액세스 금지
403.4SSL 필요
403.5SSL128 필요
403.6IP 주소 거부
403.7클라이언트 인증서 필요
403.8사이트 액세스 거부
403.9혼잡
403.10의도적인 설정
403.11비밀번호 변경
403.12관리자에 의한 액세스 거부
403.13클라이언트 인증서 만료
403.14디렉터리 목록 거부
403.15클라이언트 액세스 인증서 초과
403.16클라이언트 인증서의 신뢰성이 낮거나 무효
403.17클라이언트 인증서가 만료되었거나 유효 기간 시작 전
403.18애플리케이션 풀에 의한 요청 실행 불가
403.19애플리케이션 풀에 의한 CGI 애플리케이션 실행 불가
403.20여권 로그온 실패
403.21소스 액세스 거부
403.22무한 깊이 거부


5. 예시

HTTP 403 오류는 클라이언트 요청과 서버 응답으로 나타낼 수 있다.[5]

5. 1. 클라이언트 요청

http

GET /securedpage.php HTTP/1.1

Host: www.example.org

```[5]

5. 2. 서버 응답

http

HTTP/1.1 403 Forbidden

Content-Type: text/html



403 Forbidden



Forbidden



You don't have permission to access /securedpage.php on this server.







```

참조

[1] 간행물 Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content IETF
[2] 웹사이트 RFC 2616 - Hypertext Transfer Protocol - HTTP/1.1 https://tools.ietf.o[...] Tools.ietf.org 1999-06-01
[3] 웹사이트 HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) IETF 2016-01-12
[4] 뉴스 How do I solve the problem with the 403 status code? https://http-statusc[...]
[5] 문서 Example of "Client request" and "Server response" for HTTP status code 403 https://http-statusc[...]
[6] 웹사이트 HTTP status code overview - Internet Information Services https://learn.micros[...] 2024-05-19
[7] 웹인용 HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) http://www.webdav.or[...] IETF 2007-06-01



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com