티스토리 뷰

목차



    반응형

    클라우드플레어 5xx 오류(500·520·521·522 등)를 마주했다면 가장 먼저 떠오르는 질문은 하나입니다. “이게 Cloudflare 문제인가, 아니면 서버 문제인가?”


    결론부터 말하면, 실제 원인 대부분은 원 서버(origin server) 쪽 문제입니다. 아래는 운영자가 반드시 따라야 하는 실전 단계별 해결 가이드입니다.

    운영자용 빠른 점검
    1) 서버 살아 있는가?
    2) 리소스(메모리·CPU)는 충분한가?
    3) 로그에 오류가 찍히는가?
    4) SSL·DNS·방화벽 중 바뀐 설정은 없는가?
    5) Cloudflare Proxy 비활성화 시엔 접속이 정상인가?

    1. 원 서버 상태 점검 (가장 중요한 단계)

    대부분의 Cloudflare 500 오류는 서버 자체의 장애로 인해 발생합니다. 먼저 아래 항목을 확인해 서버가 정상적으로 작동 중인지 판단해야 합니다.

    ✔ (1) 서버 리소스 체크

    • CPU 90% 이상 지속 사용
    • 메모리 부족(OOM 발생)
    • 디스크 용량 부족(로그 폭주로 자주 발생)

    리눅스 명령어 예시:

    top 
    
    htop 
    
    df -h 
    
    free -m 
    
    

    CPU·메모리 부족으로 응답 지연이 발생하면 Cloudflare가 서버로부터 응답을 받지 못해 520/522 오류를 띄우는 경우가 흔합니다.

    ✔ (2) 웹 서버 프로세스 상태 확인

    Apache / Nginx / Node / PHP-FPM 같은 웹 프로세스가 죽어도 Cloudflare는 5xx를 반환합니다.

    systemctl status nginx 
    
    systemctl status apache2 
    
    systemctl status php-fpm 
    
    

    중단되어 있으면 즉시 재시작:

    systemctl restart nginx 
    
    systemctl restart php-fpm 
    
    

    ✔ (3) 애플리케이션 및 DB 오류 확인

    PHP, Node.js, Python 기반 사이트라면 애플리케이션 로그에서 오류를 확인해야 합니다.

    • Laravel → storage/logs/
    • WordPress → wp-content/debug.log
    • Node.js → PM2 로그 확인
    • DB 연결 에러(Too many connections 등)
    Cloudflare는 애플리케이션 오류까지 감지해주지 않습니다. 서버 내부 로직에서 에러가 나도 Cloudflare는 500만 보여줄 뿐입니다.

    2. Cloudflare DNS 설정 점검

    서버 이전, IP 변경이 있었다면 Cloudflare DNS 업데이트 누락으로 오류가 발생할 수 있습니다.

    • A 레코드가 현재 서버 IP와 일치하는지
    • 프록시(주황색 구름)가 필요한지 판단
    • 서브도메인도 동일하게 적용되어 있는지

    특히 서버 이전 후 IP 변경을 놓치는 경우가 정말 많습니다. 이때 Cloudflare는 이전 서버와 연결 시도 → 응답 없음 → 5xx 에러 출력합니다.

    3. SSL 인증서 설정 문제 해결

    SSL 설정 충돌은 Cloudflare 525/526, 또는 520/500 등의 오류를 유발합니다.

    ✔ Cloudflare SSL 모드 확인

    • Flexible → 서버에 인증서 없어도 됨
    • Full → 서버에 인증서 필요(자체 서명도 가능)
    • Full(strict) → 서버 인증서가 정식 CA 발급 + 유효해야 함

    문제 사례:

    - 서버에는 인증서가 없는데 Cloudflare가 Full(strict) → Cloudflare가 SSL 핸드셰이크 실패 → 오류 발생 - 인증서 만료 - 인증서 도메인 불일치

    “Full(strict)”를 사용할 때는 서버 인증서가 유효하고, 도메인과 정확히 일치해야 합니다.

    4. 서버 방화벽 및 보안 설정 점검

    서버의 방화벽 또는 보안 솔루션이 Cloudflare IP를 차단하면 Cloudflare가 서버에 접속하지 못해 521/522 오류가 발생합니다.

    ✔ 반드시 필요한 조치

    • Cloudflare IP 대역 전체를 화이트리스트에 등록
    • fail2ban, ModSecurity, CSF 설정 확인
    • 무료 호스팅의 경우 Cloudflare IP를 막는 경우가 있어 주의

    Cloudflare IP 목록은 공식 문서에서 확인해야 하며, 변동될 수 있습니다.

    5. 가장 빠른 진단법: 프록시(Proxy) 끄기

     

    이 방법은 Cloudflare 문제인지 서버 문제인지 즉시 판별할 수 있습니다.

    ✔ 방법

    1. Cloudflare → DNS 메뉴로 이동
    2. 문제되는 도메인의 주황색 구름 클릭 → 회색(Proxy Off)
    3. 3~30초 후 직접 접속 테스트

    ✔ 진단 결과 해석

    1) 프록시 OFF 상태에서 접속됨 → Cloudflare 설정 문제
    - SSL 모드 충돌
    - 방화벽에서 Cloudflare 차단
    - Rate Limit/WAF 문제

    2) 프록시 OFF 상태에서도 접속 안 됨 → 100% 서버 문제
    - 서버 다운
    - 애플리케이션 오류
    - DB 연결 실패
    - 리소스 부족

    이 방식은 Cloudflare 기술지원팀도 공식적으로 추천하는 가장 빠르고 정확한 진단 방법입니다.

    6. 추가적으로 반드시 확인해야 할 체크리스트

    ✔ (1) 최근 적용한 변경사항

    코드 업데이트, 서버 설정 변경, SSL 재발급 이후 오류가 나는 경우가 매우 많습니다.

    ✔ (2) 서버 시간(Time Sync)

    서버 시간이 틀리면 SSL 핸드셰이크 실패 → Cloudflare 오류 발생.

    timedatectl 
    
    timedatectl set-ntp true 
    
    

    ✔ (3) Rate Limit / WAF 규칙

    Cloudflare WAF가 정상 트래픽을 공격으로 오해해 차단할 수 있습니다.

    7. 정리 — Cloudflare 500 오류 95%는 서버 문제

    클라우드플레어는 단순히 “중간 게이트웨이” 역할을 할 뿐, 서버 내부 문제까지 해결해주지 않습니다.

    • 서버 응답 없음
    • 애플리케이션 오류
    • DB 연결 실패
    • 리소스 부족
    • 인증서 문제
    • 방화벽 차단

    위 목록에서 원인을 찾는 것이 가장 빠르고 정확한 해결책입니다. 만약 계속 반복된다면 서버 모니터링 또는 시스템 리소스를 업그레이드하는 것도 고려해야 합니다.

    반응형