티스토리 뷰
현재 전 세계 인터넷 트래픽의 상당 부분은 Cloudflare를 경유해 전달되고 있습니다.
알려진바에 따르면, 체 웹서비스의 약 20% 이상이 Cloudflare의 보호 아래 있는 것으로 조사 결과 확인됩니다.
https://www.netcraft.com/blog/november-2025-web-server-survey
많은 웹서비스가 보안 강화와 성능 최적화를 목적으로 Cloudflare를 사용하고 있으며,
사용자가 웹사이트에 접속할 때 요청은 원본 서버로 바로 전달되지 않고
Cloudflare의 글로벌 엣지 네트워크를 먼저 통과하게 됩니다.
이 과정에서 Cloudflare는 요청을 프록시 처리하고, 보안 규칙을 적용하며,
캐시 여부를 판단한 뒤 원본 서버로 요청을 전달합니다.
이러한 구조에서는 장애가 발생했을 때 요청 처리 과정 중 어느 지점에서 문제가 발생했는지를 구분하는 것이 특히 중요합니다. Cloudflare 환경에서 사용자가 자주 접하는 에러는 크게 HTTP 500번대 에러와 Cloudflare 1000번대 에러로 나눌 수 있으며,
이 둘은 발생 위치와 원인, 그리고 대응 방식이 명확히 다릅니다.

먼저 HTTP 500번대 에러는 서버가 요청을 정상적으로 처리하지 못했음을 의미합니다.
Cloudflare를 사용하는 환경에서도 기본적인 의미는 동일하지만,
Cloudflare가 원본 서버와 통신하는 과정에서 상태를 판단해 반환하는 52x 계열 에러가 함께 나타난다는 점이 특징입니다.
| 에러코드 | 에러내용 | 설명 |
| 500 | Internal Server Error | 원본 애플리케이션 오류 |
| 502 | Bad Gateway | 원본 서버의 비정상 응답 |
| 503 | Service Unavailable | 서버 과부하, 유지보수 |
| 504 | Gateway Timeout | 원본 서버의 응답 타임아웃 |
| 520 | Web Server Returned an Unknown Error | Cloudflare가 원본 응답을 정상적으로 해석하지 못함 |
| 521 | Web Server Is Down | 원본 서버가 연결을 거부함 |
| 522 | Connection Timed Out | Cloudflare–원본 간 연결 시간 초과 |
| 523 | Origin Is Unreachable | 원본 네트워크 접근 불가 |
| 524 | A Timeout Occurred | TCP 연결은 성공했으나 HTTP 응답 지연 |
| 525 | SSL Handshake Failed | Cloudflare–원본 SSL 핸드셰이크 실패 |
| 526 | Invalid SSL Certificate | 원본 SSL 인증서 오류 |
| 530 | 원본 hostname에 대한 조회 불가 |
500번대 에러는 기본적으로 HTTP 프로토콜 차원에서 정의된 상태 코드이지만,
Cloudflare 환경에서는 위와 같이 Cloudflare가 원본과의 연결 상태나 응답 특성을 반영해 직접 반환하는 코드도 포함됩니다.
이 경우에도 문제의 근본 원인은 대부분 원본 서버 설정이나 상태에 있는 경우가 많습니다.

다음으로 Cloudflare 1000번대 에러는 성격이 다릅니다.
1000번대 에러는 HTTP 표준 상태 코드가 아니며, Cloudflare가 자체적으로 생성해 사용하는 전용 에러 식별자입니다.
이 숫자는 주로 Cloudflare 에러 페이지의 본문에 표시되며,
실제 HTTP 응답 상태 코드는 403, 429, 503 등으로 별도 전달되는 구조를 가집니다.
| 에러코드 | 에러내용 | 설명 |
| 1000 | DNS points to prohibited IP | DNS가 Cloudflare에서 허용되지 않은 IP를 가리킴 |
| 1001 | DNS resolution error | DNS 조회(해석)에 실패함 |
| 1002 | DNS points to Prohibited IP | DNS가 금지된 IP 주소를 가리킴 |
| 1002 | Restricted | 접근이 제한된 리소스임 |
| 1003 | Access Denied: Direct IP Access Not Allowed | 도메인 없이 IP로 직접 접근이 차단됨 |
| 1004 | Host Not Configured to Serve Web Traffic | 해당 호스트가 웹 트래픽을 제공하도록 설정되지 않음 |
| 1005 | Access Denied: Autonomous System Number (ASN) banned | 특정 ASN(네트워크 사업자)이 차단됨 |
| 1006 | Access Denied: Your IP address has been banned | IP 주소가 차단됨 |
| 1007 | Access Denied: Your IP address has been banned | IP 주소가 차단됨 |
| 1008 | Access Denied: Your IP address has been banned | IP 주소가 차단됨 |
| 1009 | Access Denied: Country or region banned | 국가 또는 지역 단위로 접근이 차단됨 |
| 1010 | The owner of this website has banned your access based on your browser's signature | 브라우저(User-Agent) 기준으로 차단됨 |
| 1011 | Access Denied (Hotlinking Denied) | 핫링크 방지 설정으로 접근 차단 |
| 1012 | Access Denied | 일반적인 접근 거부 |
| 1013 | HTTP hostname and TLS SNI hostname mismatch | HTTP Host 헤더와 TLS SNI 호스트명이 일치하지 않음 |
| 1014 | CNAME Cross-User Banned | 다른 Cloudflare 계정의 CNAME 사용이 차단됨 |
| 1015 | You are being rate limited | 요청이 너무 많아 속도 제한에 걸림 |
| 1016 | Origin DNS error | 원본 서버의 DNS 설정에 오류가 있음 |
| 1018 | Could not find host | 호스트를 찾을 수 없음 |
| 1019 | Compute server error | Cloudflare Compute 서버 내부 오류 |
| 1020 | Access denied | 방화벽 규칙에 의해 접근 차단됨 |
| 1023 | Could not find host | 호스트를 찾을 수 없음 |
| 1025 | Please check back later | 서버가 일시적으로 요청을 처리할 수 없음 |
| 1033 | Argo Tunnel error | Argo Tunnel(Cloudflare Tunnel) 관련 오류 |
| 1034 | Edge IP Restricted | 특정 Cloudflare 엣지 IP 접근이 제한됨 |
| 1035 | Invalid request rewrite (invalid URI path) | 요청 재작성 규칙의 URI 경로가 잘못됨 |
| 1036 | Invalid request rewrite (maximum length exceeded) | 재작성된 요청이 길이 제한을 초과함 |
| 1037 | Invalid rewrite rule (failed to evaluate expression) | 재작성 규칙 표현식 평가 실패 |
| 1040 | Invalid request rewrite (header modification not allowed) | 허용되지 않은 헤더 수정 시도 |
| 1041 | Invalid request rewrite (invalid header value) | 잘못된 헤더 값으로 재작성 실패 |
| 1101 | Rendering error | Cloudflare 렌더링 중 오류 발생 |
| 1102 | Rendering error | Cloudflare 렌더링 중 오류 발생 |
| 1104 | A variation of this email address is already taken in our system. Only one variation is allowed. | 이메일 주소 변형이 이미 사용 중임 |
| 1106 | Access Denied: Your IP address has been banned | IP 주소가 차단됨 |
| 1200 | Cache connection limit | 캐시 연결 수 제한에 도달함 |
1000번대 에러는 Cloudflare 프록시(엣지) 및 보안·DNS 처리 영역에서 발생하며,
주로 보안 정책이나 설정에 의해 요청이 차단되었을 때 표시됩니다.
이 때문에 화면에는 1020과 같은 숫자가 보이지만,
개발자 도구에서는 HTTP 403이나 429 상태 코드가 함께 보이는 경우도 있습니다.
이 점은 HTTP 5xx 상태 코드만 보고 문제를 추적할 때와의 중요한 차이점입니다.

또한, 각 에러페이지를 보면 Ray ID라는 값이 함께 표시되고 있습니다.
Ray ID는 Cloudflare를 통과한 모든 요청에 대해 생성되는 고유한 식별자입니다.
이 값은 해시된 영숫자 문자열과 세 글자의 데이터 센터 코드로 구성되며,
요청을 처리한 Cloudflare 엣지 데이터 센터 정보를 함께 담고 있습니다.
또한 Ray ID는 HTTP 응답 헤더의 CF-Ray 항목을 통해 원본 서버로도 전달됩니다.
원본 서버 로그에 CF-Ray 값을 함께 기록해 두면,
Cloudflare 대시보드의 보안 이벤트와 서버 로그를 하나의 요청 단위로 정확히 매칭할 수 있습니다.
이를 통해 문제가 Cloudflare 단계에서 발생했는지, 아니면 원본 서버 단계에서 발생했는지를 빠르게 구분할 수 있으며,
장애 분석 시 문제의 범위를 효율적으로 좁힐 수 있습니다.
정리하면 Cloudflare 환경에서 에러를 분석할 때는 다음과 같은 기준이 도움이 됩니다.
- 500번대 에러 : 대부분 원본 서버 문제 (Cloudflare 52x 계열 포함)
- 1000번대 에러 : 주로 Cloudflare 보안·정책·설정 문제
- Ray ID : 문제의 위치와 책임 주체를 구분하는 핵심 열쇠
이 차이를 이해하고 접근하는 것만으로도
Cloudflare를 사용하는 환경에서 장애 대응의 우선순위와 책임 범위를 훨씬 빠르고 정확하게 판단할 수 있습니다.
'에디.Cloudflare' 카테고리의 다른 글
| 스타링크의 DNS는 Cloudflare입니다. (0) | 2026.01.04 |
|---|