DNS RobotDNS Propagation Checker
홈DNS 조회WHOISIP 조회SSL
DNS RobotDNS Propagation Checker

차세대 DNS 검사 도구

개인정보 보호정책이용약관소개블로그문의

DNS 도구

DNS 조회DNS 속도 테스트도메인에서 IP로NS 조회MX 조회모두 보기

이메일 도구

SPF 레코드 확인DMARC 확인DKIM 확인SMTP 테스트 도구이메일 헤더 분석모두 보기

웹사이트 도구

WHOIS 조회호스팅 확인 도구도메인 가용성 확인서브도메인 검색CMS 감지기모두 보기

네트워크 도구

Ping 도구트레이스라우트포트 확인HTTP 헤더 확인SSL 인증서 확인모두 보기

IP 도구

IP 조회내 IP 주소 확인IP 블랙리스트 확인IP에서 호스트명으로ASN 조회모두 보기

유틸리티 도구

QR 코드 스캐너QR 코드 생성기UPI QR Code GeneratorWiFi QR Code Generator모스 부호 변환기모두 보기
© 2026 DNS Robot. 개발: ❤ Shaik Brothers
모든 시스템 정상 운영 중
Made with
홈/블로그/Cloudflare Error 520 오류 원인과 해결 방법

Cloudflare Error 520 오류 원인과 해결 방법

Shaik Vahid2026년 9월 30일8 분 소요
Error 520 Web server is returning an unknown error 페이지와 이를 해결하는 원본 서버 점검 항목
Error 520 Web server is returning an unknown error 페이지와 이를 해결하는 원본 서버 점검 항목

핵심 요약

Cloudflare Error 520("Web server is returning an unknown error")은 Cloudflare가 원본 서버에 도달했지만 비어 있거나, 알 수 없거나, 예상치 못한 응답을 돌려받았다는 뜻입니다. Cloudflare와 브라우저는 정상이고, 원본 서버가 제대로 응답하지 않는 것입니다. Cloudflare가 밝힌 원인은 원본 서버의 크래시나 잘못된 설정, Cloudflare IP를 차단하는 방화벽, 128KB를 넘는 응답 헤더(대개 쿠키 과다), 비어 있거나 형식이 잘못된 응답, 잘못된 원본 HTTP/2 설정, 잘못 구성된 Authenticated Origin Pulls입니다. 방문자는 사이트 쿠키를 지우고 다시 시도하는 것밖에 할 수 없으며, 사이트 운영자는 원본 서버의 오류 로그를 확인하고 원본을 직접 테스트해야 합니다.

Advertisement

Cloudflare Error 520이란?

Error 520은 Cloudflare 고유의 상태 코드 중 하나입니다. 오류 페이지에는 "Web server is returning an unknown error"(웹 서버가 알 수 없는 오류를 반환하고 있음)라는 문구와 Error code 520, Ray ID, 그리고 세 개의 상자가 표시됩니다. 브라우저(정상), Cloudflare(정상), 호스트(오류)입니다.

Cloudflare 문서는 이를 "the origin server returns an empty, unknown, or unexpected response to Cloudflare", 즉 원본 서버가 Cloudflare에 비어 있거나, 알 수 없거나, 예상치 못한 응답을 반환한 경우로 정의합니다. 다시 말해 Cloudflare는 웹사이트의 실제 서버(원본 서버, origin)에 연결했지만, 돌아온 응답이 그대로 전달할 수 있는 유효한 HTTP 응답이 아니었던 것입니다. 상태 코드가 없거나, 빈 응답이거나, 연결이 리셋되었거나, 해석할 수 없는 내용인 경우입니다.

520은 포괄적인 오류 코드입니다. Cloudflare는 무엇이 잘못되었는지 알 수 있을 때(연결 거부, 시간 초과, SSL 실패) 더 구체적인 코드를 사용하므로, 520은 원본 서버가 Cloudflare가 분류할 수 없는 방식으로 응답했다는 뜻입니다.

참고

520은 서버 쪽 문제입니다. 해결은 거의 항상 방문자의 컴퓨터가 아니라 웹사이트의 원본 서버나 Cloudflare 설정에서 이루어집니다.

Error 520과 521, 522, 523, 524, 525, 526 비교

Cloudflare의 52x 코드는 모두 Cloudflare와 원본 서버 사이의 문제를 나타냅니다. 번호를 보면 어디를 확인해야 할지 알 수 있습니다:

코드페이지 문구무슨 일이 일어났나
520Web server is returning an unknown error원본 서버에서 비어 있거나, 알 수 없거나, 예상치 못한 응답이 옴
521Web server is down원본 서버가 연결을 거부함
522Connection timed outCloudflare가 원본 서버와의 연결을 완료하지 못함
523Origin is unreachable원본 서버로 가는 경로가 없음(DNS의 원본 IP 확인)
524A timeout occurred연결은 되었지만 원본 서버가 제시간에 응답하지 않음
525SSL handshake failed원본 서버와의 HTTPS 핸드셰이크 실패
526Invalid SSL certificate원본 서버의 인증서가 Full (strict) 모드에서 유효하지 않음

페이지에 일반적인 502나 504가 표시된다면 502 Bad Gateway와 504 Gateway Timeout을 참고하세요. 521과 522는 포트 확인 도구로 원본 서버의 443 또는 80 포트가 외부 연결을 받는지 확인하세요. 525와 526은 SSL 인증서 확인 도구로 원본 인증서를 확인할 수 있고, TLS 버전과 암호화 방식 문제는 ERR_SSL_VERSION_OR_CIPHER_MISMATCH에서 다룹니다.

Advertisement

520 오류의 원인

Cloudflare는 문제 해결 문서에서 다음 원인을 제시합니다:

  • 원본 서버의 크래시 또는 잘못된 설정. 예를 들어 요청 처리 도중 죽는 PHP나 Node 프로세스입니다.

  • 방화벽이나 보안 플러그인이 Cloudflare IP를 차단하는 경우. 원본 서버가 응답하는 대신 연결을 끊어 버립니다.

  • 응답 헤더가 128KB를 초과하는 경우. 대개 쿠키가 너무 많거나 너무 크기 때문입니다.

  • 비어 있거나 형식이 잘못된 응답. HTTP 상태 코드나 본문이 없는 경우입니다.

  • 응답 헤더 누락, 또는 원본 서버가 올바른 HTTP 오류 응답을 반환하지 않는 경우.

  • HTTP/2 to Origin이 켜져 있을 때 원본 서버의 잘못된 HTTP/2 설정.

  • 원본 서버가 준비되지 않았는데 Cloudflare에서 Authenticated Origin Pulls를 켠 경우.

방문자라면 이렇게 해 보세요

웹사이트의 서버를 고칠 수는 없지만 시도해 볼 만한 방법이 두 가지 있습니다. 크래시나 재시작으로 생긴 520은 저절로 사라지기도 하므로 1분쯤 뒤에 새로고침하세요. 그리고 사이트 쿠키를 삭제하세요. 쿠키로 인해 헤더가 너무 커진 것이 원인이라면, 해당 사이트의 쿠키를 지우면(주소창 왼쪽 아이콘 → 쿠키 및 사이트 데이터) 내 쪽에서는 해결될 수 있습니다.

계속 실패한다면 사이트 운영자에게 알리고, 오류 페이지 하단의 Ray ID를 함께 보내세요. 운영자가 Cloudflare에서 내 요청을 정확히 찾을 수 있습니다.

Advertisement

해결 방법 1: 원본 서버의 오류 로그 확인

Cloudflare가 가장 먼저 권하는 방법은 오류가 발생한 시각의 원본 서버 로그를 확인하는 것입니다. 크래시, 메모리 부족(OOM) 종료, 연결 리셋이 로그에 남습니다:

bash
sudo tail -n 50 /var/log/nginx/error.log      # 또는 /var/log/apache2/error.log
journalctl -u your-app --since "15 min ago"     # 앱 서비스 로그
pm2 logs --lines 50                             # PM2로 실행 중인 Node 앱
dmesg -T | grep -i "killed process"           # 메모리 부족(OOM) 종료

팁

로그의 시각을 Ray ID에 해당하는 요청과 맞춰 보세요. 특정 URL 하나만 매번 실패한다면 그 페이지가 다르게 하는 일을 살펴보세요. 무거운 쿼리, 큰 파일, 많은 쿠키 같은 것입니다.

해결 방법 2: Cloudflare 없이 원본 서버 테스트

Cloudflare를 거치지 않고 원본 서버에서 페이지를 직접 요청해 원시 응답을 확인하세요. curl을 사용하면 요청 한 번에 한해 호스트 이름을 원본 IP로 지정할 수 있습니다:

bash
# 203.0.113.10을 내 원본 서버의 IP로 바꾸세요
curl -sv --resolve example.com:443:203.0.113.10 https://example.com/broken-page -o /dev/null

# 확인할 것: 정상적인 "HTTP/1.1 200"(또는 HTTP/2 200) 상태 줄과 헤더
# 여기서 "Empty reply from server"나 "Connection reset by peer"가 나오면 520이 재현된 것입니다.

Cloudflare는 임시 해결책도 제안합니다. DNS 레코드를 DNS 전용(DNS only, 회색 구름)으로 바꾸거나 Cloudflare를 일시 중지해, 원인을 조사하는 동안 방문자가 원본 서버에 직접 접속하도록 하는 것입니다. 이 경우 원본 IP가 노출된다는 점을 기억하세요. DNS Robot의 DNS 조회는 현재 전 세계에서 내 도메인에 대해 보이는 IP를 보여 주고, HTTP 헤더 확인 도구는 트래픽이 Cloudflare를 거칠 때 server: cloudflare와 cf-ray 헤더를 보여 줍니다.

Advertisement

해결 방법 3: 원본 서버에서 Cloudflare IP 대역 허용

모든 방문자 트래픽은 Cloudflare의 IP 대역에서 원본 서버로 들어오므로, '의심스러운' IP의 속도를 제한하거나 차단하는 방화벽, fail2ban jail, 보안 플러그인이 결국 Cloudflare 자체를 차단할 수 있습니다. https://www.cloudflare.com/ips/에 공개된 대역을 방화벽과 보안 플러그인에서 허용하고, 웹 서버가 CF-Connecting-IP 헤더에서 실제 방문자 IP를 읽도록 설정해 속도 제한이 Cloudflare가 아니라 방문자에게 적용되도록 하세요.

경고

520을 고치려고 모든 접속을 허용하지 마세요. Cloudflare가 공개한 대역만 허용하고 필요 없는 직접 접속은 계속 차단하세요. 그렇지 않으면 공격자가 원본 IP로 직접 접속해 Cloudflare를 우회할 수 있습니다.

해결 방법 4: 응답 헤더를 128KB 미만으로 유지

Cloudflare는 헤더가 128KB를 넘는 원본 응답을 거부하며, 대개 쿠키가 원인입니다. 페이지가 보내는 Set-Cookie 헤더의 개수와 크기를 확인하세요. 더 이상 필요 없는 쿠키는 제거하고, 세션 쿠키는 작게 유지하고, 쿠키에 큰 데이터를 기록하는 앱이나 플러그인은 피하세요.

팁

DNS Robot의 HTTP 헤더 확인 도구는 페이지가 보내는 모든 Set-Cookie 헤더를 나열하므로(또는 curl -sI https://example.com/ | grep -i set-cookie 실행), 너무 크거나 중복된 쿠키를 쉽게 찾을 수 있습니다.

Advertisement

해결 방법 5: HTTP/2 to Origin과 Authenticated Origin Pulls 확인

  • HTTP/2 to Origin: Cloudflare에서(속도 설정 아래) 이 기능이 켜져 있는데 원본 서버의 HTTP/2 설정이 잘못되어 있으면 응답이 520으로 실패할 수 있습니다. Cloudflare는 원본 서버의 HTTP/2 구성을 확인하거나, HTTP/2 to Origin을 꺼서 원인인지 확인해 보라고 권합니다.

  • Authenticated Origin Pulls: Cloudflare에서 이 기능이 켜져 있다면 원본 서버가 Cloudflare의 클라이언트 인증서를 받아들이도록 설정되어 있어야 합니다. 그렇지 않다면 기능을 끄거나 원본 서버 설정을 마무리하세요.

해결 방법 6: Cloudflare 지원팀에 보낼 정보

원본 서버가 정상으로 보이는데 520이 계속된다면, Cloudflare는 다음 정보를 요청합니다:

  • 오류가 발생하는 전체 URL.

  • 오류 페이지의 cf-ray ID.

  • http://yourdomain.com/cdn-cgi/trace의 출력 결과.

  • HAR 파일 두 개(개발자 도구 → 네트워크 → 내보내기). 하나는 Cloudflare를 켠 상태, 다른 하나는 끈 상태에서 기록한 것.

팁

HAR 파일은 오류가 발생하는 동안 수집하세요. 문제가 사라진 뒤에 기록한 HAR에는 실패한 요청이 나타나지 않습니다.

사이트가 Cloudflare 뒤에 있는지 확인하세요

DNS Robot의 HTTP 헤더 확인 도구는 모든 URL의 상태 코드, server 헤더, cf-ray ID를 보여 주므로 520 오류와 사이트 앞단의 Cloudflare 사용 여부를 함께 확인할 수 있습니다.

사용해보기 HTTP 헤더 확인 도구

Advertisement

자주 묻는 질문

웹사이트의 원본 서버가 Cloudflare에 비어 있거나, 알 수 없거나, 예상치 못한 응답을 반환했다는 뜻의 Cloudflare 오류입니다. 브라우저와 Cloudflare는 정상이며, 원본 서버가 제대로 응답하지 않는 것입니다.

관련 도구

HTTP Headers CheckDNS LookupPort Checker

관련 기사

502 Bad Gateway 오류 원인과 해결 방법504 Gateway Timeout: 원인과 해결 방법 완벽 가이드ERR_SSL_VERSION_OR_CIPHER_MISMATCH: 해결 방법 완벽 가이드 (모든 브라우저)

목차

  • Cloudflare Error 520이란?
  • Error 520과 521, 522, 523, 524, 525, 526 비교
  • 520 오류의 원인
  • 방문자라면 이렇게 해 보세요
  • 해결 방법 1: 원본 서버의 오류 로그 확인
  • 해결 방법 2: Cloudflare 없이 원본 서버 테스트
  • 해결 방법 3: 원본 서버에서 Cloudflare IP 대역 허용
  • 해결 방법 4: 응답 헤더를 128KB 미만으로 유지
  • 해결 방법 5: HTTP/2 to Origin과 Authenticated Origin Pulls 확인
  • 해결 방법 6: Cloudflare 지원팀에 보낼 정보
  • 자주 묻는 질문