조회수: 14
521 Web Server Is Down (Cloudflare) 해결
Cloudflare Error 521은 오리진이 연결을 거부했다는 뜻입니다. 서버 가동·Cloudflare IP 허용·포트 개방을 3단계로 점검합니다. 무료 포트 진단으로 바로 확인.
내 도메인에 이 문제가 있는지 지금 확인
무료, 가입 불필요. 이 가이드가 다루는 항목을 바로 검사하고 조치 방법을 알려드립니다.
Problem
Cloudflare가 Error 521: Web server is down을 반환합니다. Cloudflare 엣지는 네트워크까지 도달했지만 오리진에 TCP 연결을 열지 못한 것입니다 — 오리진이 거부했거나, 연결을 받아줄 무언가가 수신하지 않은 것입니다.
Symptoms
- Cloudflare 브랜드 오류 페이지에
Error 521이 표시됩니다. - 오류가 긴 멈춤 없이 즉시 나타납니다(522 타임아웃과 구분되는 즉시 거부).
- 내 컴퓨터에서 오리진 IP로 직접 접속하면 사이트가 정상적으로 열릴 수 있습니다.
Top 3 Causes
- 웹 서버 프로세스가 죽음 - Nginx, Apache, 또는 앱 서버가 크래시·중지됐거나 기대한 포트를 수신하지 않습니다. 80/443 포트에 바인딩된 것이 없으면 커널이 Cloudflare의 연결에 TCP reset으로 응답하고, Cloudflare는 이를 521로 보고합니다.
- 방화벽이 Cloudflare IP 대역을 거부 - OS 방화벽(
iptables/ufw), 호스팅 제어판, 또는 보안 플러그인이 Cloudflare IP를 차단합니다.REJECT규칙은 reset을 돌려보내 521을 만들고(조용한DROP은 대신 522 타임아웃이 됩니다). 최근 강화한 규칙이 흔한 발단입니다. - DNS 레코드가 잘못된 오리진을 가리킴 - 프록시된 A/AAAA 레코드가 웹 서버가 없는 IP를 가리킵니다 — 옛 서버, 다운된 로드 밸런서, 또는 오타 — 그래서 연결이 거부됩니다.
Diagnose with DechoNet
- Port Check를 오리진 IP의 80·443 포트에 실행해 오리진이 외부에서 실제로 연결을 받아들이는지 확인합니다.
- HTTP Check를 오리진에 실행해 연결이 열렸을 때 응답이 오기는 하는지 확인합니다.
Resolution Checklist
- 웹 서버가 실행 중이며 수신하는지 확인합니다:
systemctl status nginx(또는 사용하는 서버)와ss -tlnp | grep -E ':(80|443)'. 바인딩된 것이 없으면 먼저 서비스를 재시작합니다. - Cloudflare를 우회해 오리진을 외부에서 테스트합니다:
curl -v http://ORIGIN_IP와curl -vk https://ORIGIN_IP.Connection refused가 나오면 Cloudflare가 아니라 오리진이 원인임이 확인됩니다. - Cloudflare 공개 IP 대역(
cloudflare.com/ips)을 80·443 포트에 대해 모든 방화벽 계층 — OS, 호스팅 패널, 클라우드 보안 그룹 — 에서 허용합니다. - Cloudflare는 대역을 주기적으로 갱신하므로, 허용 목록을 자동화하세요(
cloudflare.com/ips를 가져오는 cron 작업) — 향후 대역 변경이 오리진을 조용히 다시 망가뜨리지 않도록. - 프록시된 DNS 레코드가 웹 서버가 실제로 도는 IP를 가리키는지 확인합니다.
- Port Check를 오리진에 다시 실행해 80/443이 이제 연결을 받아들이는지 확인한 뒤 사이트를 새로고침합니다.
When to Escalate
- 관리형 호스트나 플랫폼이 방화벽을 제어해 Cloudflare 대역을 직접 추가할 수 없다면,
cloudflare.com/ips의 IP 목록을 제공업체에 보내 80/443에서 허용하도록 요청하세요. - 트래픽에 따라 나타났다 사라지는 간헐적 521은 보통 부하로 웹 서버가 크래시하거나 연결 한도에 걸리는 경우입니다 — 방화벽보다 오리진 용량과 프로세스 재시작을 점검하세요.
관련 도구
관련 가이드
가이드 공유
[Ad] Guide Detail Inline