의미
서버가 요청을 이해했지만 권한 부여를 거부합니다. 권한이 바뀌지 않는 한 다시 로그인해도 소용없습니다.
흔한 원인
- 사용자에게 필요한 역할이나 범위가 없음
- IP 차단, WAF, 봇 방어
- 웹 서버의 파일 권한 문제나 인덱스 파일 누락
해결 방법
클라이언트 또는 방문자라면
계정이나 토큰에 올바른 권한이나 scope가 있는지 확인하세요. 웹사이트에서는 VPN, 차단된 IP, 봇 확인이 원인일 수 있습니다.
사이트나 API 운영자라면
파일 소유자와 권한, 디렉터리 인덱스 설정, WAF 규칙을 확인하세요. 리소스의 존재를 드러내고 싶지 않다면 404를 반환하세요.
응답 예시
HTTP/1.1
HTTP/1.1 403 Forbidden
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json
{
"type": "about:blank",
"title": "Forbidden",
"status": 403,
"detail": "You do not have permission to delete this project."
} 명세
자주 묻는 질문
› nginx가 403 Forbidden을 반환하는 이유는?
흔한 원인은 워커가 파일을 읽을 수 없거나, 인덱스 파일이 없고 autoindex가 꺼져 있거나, deny 규칙에 걸린 경우입니다.
› 비공개 리소스에는 403과 404 중 무엇을?
404는 리소스의 존재를 숨기고, 403은 더 솔직합니다. 예를 들어 GitHub은 비공개 저장소에 404를 반환합니다.