DEV WIKI
인프라 · 오류·증상

Error 521: web server is down

원본 웹 서버가 Cloudflare에서 오는 연결을 거부할 때 Cloudflare가 표시하는 오류입니다.

빠른 답변

우선 확인할 원인
Cloudflare 521 오류는 원본 웹 서버가 Cloudflare의 연결을 거부했다는 뜻입니다. 원본 서버가 실행 중인지, 보안 솔루션이나 방화벽이 Cloudflare IP를 차단하는지, 웹 서버가 올바른 포트에서 수신 대기하는지를 확인해야 합니다.
먼저 확인할 항목
관찰 대상은 원본 웹 서버 프로세스입니다. 서버가 온라인 상태이고 오류 로그에 다운이나 중단 흔적이 없어야 정상입니다.
적용 범위
현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
출처 확인일
2026-07-27
최종 검토
2026-07-23
수정일
2026-08-29
관련 기술
오류·수정 제보 (새 창에서 열림)

현재 증상

  • 사이트 접속 불가
  • 원본 서버 응답 없음

먼저 확인할 항목

관찰 대상은 원본 웹 서버 프로세스입니다. 서버가 온라인 상태이고 오류 로그에 다운이나 중단 흔적이 없어야 정상입니다.

관찰 대상은 방화벽·보안 솔루션의 Cloudflare IP 허용 여부입니다. 전체 Cloudflare IP 범위가 차단되거나 속도 제한되지 않아야 정상입니다.

관찰 대상은 웹 서버의 수신 포트입니다. SSL/TLS 모드에 맞는 포트(Flexible은 80, Full·Full Strict는 443)에서 수신 대기해야 정상입니다.

관찰 대상은 Cloudflare SSL/TLS 모드와 원본 구성의 일치입니다. Full·Full Strict 모드라면 원본이 443에서 유효한 인증서로 HTTPS를 제공해야 정상입니다.

수정 후 동일 URL을 다시 요청해 521이 재현되는지 확인합니다. 정상이면 원본 응답이 반환됩니다.

피해야 할 조치

주의

  • 원본 서버 상태를 확인하지 않고 방화벽 규칙 전체를 삭제하지 않습니다. Cloudflare IP 범위만 허용 목록에 추가하고, 되돌릴 수 있도록 변경 전 규칙을 백업합니다.
  • Full·Full Strict 모드에서 원본이 443 HTTPS와 유효한 인증서를 갖추지 않은 상태로 SSL 모드를 임의 변경하지 않습니다.
  • 521 오류만으로 Cloudflare 자체 장애라고 단정하지 않습니다. 출처는 원본 서버가 연결을 거부한 상태로 설명합니다.
  • 521을 피하려고 SSL/TLS 모드를 Full·Full Strict에서 Flexible로 낮추지 않습니다. Cloudflare와 원본 사이 구간이 평문 HTTP로 다운그레이드되어 보안이 약해집니다.

환경별 원인과 조치

Cloudflare 521 오류는 원본 웹 서버가 Cloudflare에서 오는 연결을 거부했을 때 표시됩니다. 브라우저와 Cloudflare 사이는 연결됐지만, Cloudflare가 원본 서버로 연결을 시도하는 단계에서 거부당한 상태입니다.

521은 원인 자체가 아니라 원본 서버가 연결을 거부했다는 관찰 결과입니다.

출처가 밝힌 원인

Cloudflare 문서는 521의 주요 원인을 두 가지로 정리합니다.

  • 원본 웹 서버 애플리케이션이 오프라인 상태인 경우
  • 보안 솔루션이 Cloudflare의 요청을 차단하는 경우

구간별로 확인해야 하는 이유

관찰 위치확인할 내용
원본 서버웹 서버 프로세스 실행 여부와 오류 로그의 다운·중단 흔적
방화벽·보안 솔루션전체 Cloudflare IP 범위의 차단·속도 제한 여부
수신 포트SSL/TLS 모드에 맞는 포트(Flexible 80, Full·Full Strict 443) 수신 대기
SSL/TLS 구성Full·Full Strict 모드에서 원본의 HTTPS와 유효 인증서 지원 여부

Cloudflare 경유 요청원본 서버 직접 요청을 구분하면 연결을 거부하는 구간을 더 빠르게 좁힐 수 있습니다. 요청 전달 구조는 CDN 구성요소에서 확인할 수 있습니다.

521은 원본 서버가 연결을 거부한 상태이고, 522(connection timed out)는 연결이 시간 초과된 상태라는 점이 다릅니다. [Hypothesis] 두 오류 모두 Cloudflare와 원본 사이 구간의 문제지만, 거부와 시간 초과는 확인해야 할 원인이 다를 수 있습니다.

방화벽에서 Cloudflare IP 범위를 허용하기 전에 기존 규칙을 백업하고, 문제가 재현되면 즉시 되돌립니다.

오진 함정

  • [Observation] 원본 IP에 직접 접근할 수 있어도 Cloudflare 경유 요청은 521로 실패한 사례가 2건 있었습니다.
  • [Observation] VM 유형 변경 뒤 발생한 521은 네트워크 차단이 아니라 기본 Apache와 Bitnami Apache의 서비스 충돌이 원인이었습니다.
  • [Hypothesis] 원본 IP 접속 성공만으로 Cloudflare와 원본 서버 사이의 연결 문제나 웹 서버 프로세스 문제를 제외하지 않는 편이 좋습니다.

환경 매트릭스

환경 또는 변경증상확인된 원인 또는 점검 대상수정 또는 조치
AWS EC2 서브도메인직접 IP 접속 가능, Cloudflare 경유 521보안 그룹, NACL, 웹 서버 수신 포트의 Cloudflare 요청 허용 여부80/443 및 임시 포트 규칙 점검
Google Cloud VM 유형 변경 후 WordPress도메인에서 521기본 Apache와 Bitnami Apache 충돌충돌 서비스 중지, Bitnami 스택 재시작
EC2 재부팅 후 Rails/nginx직접 IP 접속 가능, Cloudflare 경유 521Cloudflare IP 범위 차단 정황방화벽과 공급자 네트워크의 Cloudflare 원본 IP 허용 여부 점검

진단 순서

  1. [Observation] 원본 IP 직접 접근 가능 여부를 확인한 사례가 있었습니다.
  2. [Observation] Cloudflare 요청을 대상으로 보안 그룹, NACL, 방화벽, 공급자 네트워크의 허용 규칙을 점검한 사례가 있었습니다.
  3. [Observation] 웹 서버 수신 포트와 서비스 충돌 여부를 점검한 사례가 있었습니다.
  4. [Hypothesis] 인프라 변경 또는 재부팅 직후 발생했다면, 해당 변경으로 영향을 받은 방화벽 규칙과 웹 서버 프로세스를 우선 비교하는 편이 좋습니다.

참고 자료

Cloudflare · 공식 자료 (새 창에서 열림)

확인 범위: definition, common-causes, resolution · 확인일: 2026-07-23

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: AWS EC2 서브도메인에서 원본 IP 직접 접속은 가능했으나 Cloudflare 경유 요청은 521로 실패했습니다., 보안 그룹, NACL, 웹 서버 수신 포트의 Cloudflare 요청 허용 여부를 점검하도록 안내됐습니다. · 확인일: 2026-07-27

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: Google Cloud VM 유형 변경 후 WordPress 도메인에서 521이 발생했습니다., 기본 Apache와 Bitnami Apache의 충돌이 원인이었고, 충돌 서비스를 중지한 뒤 Bitnami 스택을 재시작해 해결했습니다. · 확인일: 2026-07-27

Stack Overflow · 운영 사례 (새 창에서 열림)

확인 범위: EC2 재부팅 후 Rails와 nginx 사이트에서 521이 발생했지만 원본 IP 접근은 가능했습니다., AWS 측에서 Cloudflare IP 범위가 차단된 정황이 확인됐으며, 방화벽과 공급자 네트워크의 Cloudflare 원본 IP 허용 여부를 점검했습니다. · 확인일: 2026-07-27