오류 코드 520이란 무엇인가요? 어떻게 수정하나요?
디지털 사무 작업이나 과학적 인터넷 접근 과정에서, 포워드 프록시를 통해 특정 웹사이트에 접근하는 것은 일반적입니다. 그러나 Enter 키를 누르자마자 차가운 오류 520: 웹 서버가 알 수 없는 오류를 반환하고 있습니다라는 메시지를 만나게 된다면, 이는 일반적으로 프록시 IP와 대상 웹사이트 간의 비정상적인 통신이 있음을 의미합니다.
직접 접근 시 발생하는 520 오류와는 달리, 프록시를 사용할 때 이 오류는 일반적으로 요청 신원 또는 연결 특성의 불일치와 관련이 있습니다.

오류 코드 520이란 무엇인가요?
오류 코드 520은 일반적으로 Cloudflare를 사용하는 웹사이트에서 나타나며, 공식 정의는 다음과 같습니다:
웹 서버가 알 수 없는 오류를 반환함
520은 Cloudflare에서 만든 사용자 정의 오류 코드로, IANA 표준 HTTP 상태 코드에는 존재하지 않는다는 점에 유의해야 합니다. 이는 이 오류가 주로 Cloudflare와 원본 서버 간의 통신 이상을 나타내기 위해 사용된다는 것을 의미하며, 전통적인 HTTP 프로토콜 오류와는 다릅니다.
🧠 간단한 이해
Cloudflare가 귀하의 요청을 성공적으로 수신했지만, 원본 서버에서 데이터를 요청할 때 서버가 비정상적이거나 유효하지 않은 응답을 반환했습니다.
프록시 사용 시 오류 520이 발생하는 이유는 무엇인가요?
프록시 시나리오에서 요청 체인은 다음과 같습니다: 당신(클라이언트) <-> 포워드 프록시 <-> 대상 사이트 리버스 프록시(예: Cloudflare) <-> 대상 원본 서버.
직접 연결과 비교할 때, 추가적인 "중간 링크"가 있어 이상이 발생하기 더 쉽습니다.
1. 응답 헤더 과부하 및 변조
일부 포워드 프록시는 익명화를 달성하기 위해 HTTP 요청 헤더를 수정, 삭제 또는 추가합니다(예: Via, X-Forwarded-For). 삽입된 정보가 대상 서버의 128KB 헤더 한도를 초과하면(특히 Cloudflare의 경우), Cloudflare의 요청 구문 분석 이상을 유발하여 간접적으로 520 오류를 초래할 수 있습니다.
2. 연결 재사용(Keep-Alive) 충돌
프록시 서버는 일반적으로 효율성을 위해 대상 서버와의 장기 연결을 유지합니다. 프록시 서버가 대상 서버에 의해 일방적으로 종료된 연결을 재사용하려 하거나 전송 중 연결이 중단되면 "알 수 없는 응답"이 발생합니다. 간단히 말해: 연결 이상(예: 연결 중단 또는 재사용 실패)은 불완전한 응답을 초래할 수 있으며, 이는 520 오류를 유발할 수 있습니다.
3. 보안 정책의 "소프트 인터셉션"
많은 대형 웹사이트가 보호를 위해 Cloudflare를 사용합니다. 요청이 알려진 프록시 IP 풀에서 발생하는 것을 감지하면, 직접적으로 차단하지 않고(403 보고), 복잡한 CAPTCHA 또는 비표준 도전에 응답할 수 있습니다. 프록시 프로그램이 이러한 도전을 처리할 수 없다면, 이를 520 오류로 잘못 해석할 수 있습니다.
4. HTTP/2 또는 프로토콜 협상 이상
경우에 따라 원본 서버가 HTTP/2를 지원한다고 주장하지만 제대로 구성되지 않았거나 처리 이상이 발생하면 Cloudflare가 응답을 올바르게 구문 분석할 수 없게 되어 520 오류를 반환할 수 있습니다. 프록시 또는 터널링 환경에서는 TLS/ALPN 협상(예: HTTP/2 활성화 여부)도 최종 연결 결과에 영향을 미칠 수 있습니다.
핵심 솔루션: 프록시 측에서 시작하기
프록시 없이 접근이 정상적이지만 프록시를 사용할 때 오류가 발생하는 경우, 다음 단계를 따르세요:
1. 프록시 프로토콜 또는 암호화 방법 변경
다양한 프로토콜(예: Shadowsocks, V2Ray, Trojan, HTTP/HTTPS 프록시)은 패킷을 다루는 방식이 다릅니다.
암호화 강도 줄이기 시도: 일부 복잡한 암호화 알고리즘은 패킷 구문 분석에 지연을 초래할 수 있습니다.
전송 프로토콜 전환: UDP 포워딩을 사용하는 경우 TCP로 전환해 보거나 그 반대로 시도해 보세요. TCP 핸드쉐이크 메커니즘은 520과 같은 불안정한 연결 상황을 처리하는 데 더 유리합니다.
2. 프록시 플러그인의 "요청 헤더 수정" 기능 비활성화
브라우저 플러그인 프록시를 사용하는 경우, 자동으로 User-Agent 또는 기타 헤더를 삽입하는 설정이 있는지 확인하세요.
클린 테스트: 모든 헤더 수정 확장을 비활성화하고 핵심 프록시 기능만 유지해 보세요.
클라이언트(브라우저) 측 보조 수정
1. 특정 사이트에 대한 HSTS 및 캐시 강제 삭제
브라우저는 비프록시 상태에서 사이트의 연결 속성을 기억하고 이를 프록시 상태에서 적용하려고 시도하여 충돌을 일으킬 수 있습니다.
Chrome 주소 표시줄에 chrome://net-internals/#hsts를 입력하세요.
"도메인 보안 정책 삭제"에서 대상 도메인 이름을 입력하고 삭제하세요.
이 웹사이트의 쿠키를 철저히 삭제하여 프록시가 만료된 세션 정보를 포함하지 않도록 하세요.
2. DNS 해상도 방식 전환
포워드 프록시는 종종 DNS 누수 또는 해상도 문제를 동반합니다.
원격 DNS 활성화: DNS 해상도가 프록시 서버 측에서 완료되도록 하여, IP를 로컬에서 해상도한 후 프록시로 전송하지 않도록 하세요.
DoH 시도: 브라우저 설정에서 "보안 DNS 사용"(HTTPS를 통한 DNS)을 활성화하고 Google 또는 Cloudflare의 공개 DNS를 선택하세요.
연락처 프록시 서비스 제공업체 또는 IP 변경
위의 기술 조정이 효과가 없다면, 문제는 귀하의 손에 있지 않을 가능성이 높습니다:
IP 품질 문제: 대상 웹사이트(리버스 프록시 측)가 이 프록시 노드의 IP를 블랙리스트에 올렸을 수 있습니다. 이는 완전한 차단이 아니라, 봇을 방해하기 위해 일부 비표준 패킷을 반환하여 520 오류를 초래합니다.
대응 조치: 다른 지역 또는 운영자의 프록시 IP로 변경하세요.
요약
오류 코드 520의 본질은 중간 링크에서의 통신 이상입니다. Cloudflare를 사용하는 웹사이트의 경우, 이는 원본 서버가 정상적으로 구문 분석할 수 없는 응답을 반환했음을 의미합니다.
프록시 환경에서는 이 문제가 더욱 확대됩니다. 요청 경로에 포워드 프록시 링크가 추가됨에 따라, 요청 헤더의 변경, 불안정한 연결 또는 IP 신뢰 문제로 인해 비정상적인 응답이 발생하고 520 오류를 유발할 수 있습니다.




