IT·인터넷

502 Bad Gateway 오류란? 원인과 해결방법 완벽 정리!

2026-09-27

502 Bad Gateway 오류의 브라우저, 프록시 게이트웨이, 원본 서버 요청 흐름 안내 카드
502 오류는 중간 게이트웨이가 원본 서버에서 유효한 응답을 받지 못했을 때 나타납니다.

502 Bad Gateway 오류는 무엇인가요?

웹사이트를 열었는데 화면에 ‘502 Bad Gateway’라는 문구가 나타나면, 내가 사용 중인 브라우저와 웹사이트의 실제 서버 사이에서 응답을 전달하던 중간 서버가 정상적인 답을 받지 못했다는 뜻입니다. 여기서 게이트웨이는 방문자의 요청을 받아 뒤쪽 서버로 전달하고, 그 결과를 다시 방문자에게 돌려주는 프록시 서버나 로드밸런서 같은 중간 역할을 가리킵니다. 즉 502는 주소를 잘못 입력해서 생기는 오류라기보다, 요청은 전달됐지만 뒤쪽 서비스가 기대한 방식으로 대답하지 못한 상황에 가깝습니다.

인터넷 서비스는 한 대의 서버만으로 움직이지 않는 경우가 많습니다. 방문자는 브라우저로 사이트에 접속하고, 앞단의 CDN·보안 장비·리버스 프록시가 요청을 받아 애플리케이션 서버나 API 서버로 전달합니다. 이 과정에서 중간 장비가 업스트림 서버에 연결하지 못하거나, 연결은 되었지만 응답이 너무 늦거나, 응답 형식이 비정상적이면 502를 반환할 수 있습니다. 그래서 같은 시간에 많은 사람이 같은 사이트에서 오류를 본다면 사이트 운영 환경의 문제일 가능성이 높습니다.

다만 502가 항상 사이트 전체의 장기 장애를 의미하지는 않습니다. 짧은 배포 작업, 순간적인 트래픽 급증, 서버 재시작, 네트워크 경로의 일시적인 흔들림만으로도 몇 분 동안 나타날 수 있습니다. 반대로 여러 번 다시 시도해도 특정 페이지나 기능에서 계속 반복된다면 단순 대기만 하기보다, 사용자는 접속 조건을 기록하고 관리자는 로그와 상태 지표를 확인하는 편이 좋습니다. 오류 화면만 보고 내 컴퓨터가 고장 났다고 단정할 필요는 없습니다.

502 오류가 생기는 대표 원인 6가지

첫째, 원본 서버의 과부하입니다. 예상보다 많은 방문자가 몰리거나 무거운 검색·결제·파일 처리 작업이 한꺼번에 실행되면 CPU, 메모리, 데이터베이스 연결 수가 한계에 닿을 수 있습니다. 업스트림 서버가 요청을 처리할 여유를 잃으면 프록시는 제시간에 올바른 응답을 받지 못하고 502를 표시할 수 있습니다. 특히 이벤트 시작 시간, 인기 콘텐츠 공개 직후, 광고나 외부 링크로 유입이 급증한 때에 자주 확인되는 원인입니다.

둘째, 업스트림 서비스의 중지 또는 비정상 종료입니다. 웹 애플리케이션 프로세스가 죽었거나 컨테이너가 재시작 중이면 프록시가 연결할 대상 자체가 사라집니다. 셋째, 응답 지연과 타임아웃도 흔합니다. 데이터베이스 쿼리 하나가 오래 걸리거나 외부 API가 느려지면 애플리케이션은 답을 만들지 못하고, 앞단 프록시는 설정된 시간 안에 응답을 받지 못합니다. 제품마다 504와 502의 표시는 조금 다를 수 있지만, 운영 현장에서는 업스트림 지연 여부를 함께 살펴야 합니다.

넷째, DNS나 네트워크 연결 문제입니다. 프록시가 업스트림 도메인을 잘못 해석하거나, 방화벽·보안 그룹·라우팅 규칙 때문에 필요한 포트로 통신하지 못하면 연결이 실패합니다. 다섯째, 리버스 프록시 설정 오류도 중요한 원인입니다. 업스트림 주소나 포트가 바뀌었는데 설정을 갱신하지 않았거나, HTTPS 인증서·헤더 전달·헬스체크 경로가 맞지 않으면 정상 서비스처럼 보여도 일부 요청이 실패할 수 있습니다. 여섯째, 배포 중 버전 불일치입니다. 새 애플리케이션이 요구하는 환경 변수나 API 경로가 준비되지 않은 상태에서 트래픽을 받으면 특정 기능부터 502가 발생할 수 있습니다.

502 Bad Gateway 오류 발생 시 사용자가 확인하는 다섯 단계 체크리스트 카드
방문자는 간단한 재접속과 환경 확인으로 일시적인 오류인지 먼저 가늠할 수 있습니다.

방문자가 먼저 해볼 해결방법

가장 먼저 할 일은 잠시 기다린 뒤 페이지를 새로고침하는 것입니다. 서버 재시작이나 짧은 트래픽 급증으로 생긴 502라면 수십 초에서 몇 분 사이에 정상으로 돌아오는 경우가 있습니다. 새로고침을 연속으로 매우 많이 누르기보다는 잠깐 간격을 두고 한두 번 확인하세요. 반복 요청은 내 문제를 해결하지 못할 뿐 아니라, 이미 부담이 큰 서비스에 추가 부하를 줄 수도 있습니다.

다음으로 시크릿 모드 또는 다른 브라우저에서 접속해 보세요. 브라우저 캐시, 쿠키, 확장 프로그램, 회사 보안 프로그램이 특정 요청에 영향을 주는 드문 경우를 구분하는 데 도움이 됩니다. 와이파이 대신 모바일 데이터로, 또는 다른 네트워크에서 같은 주소를 열어 보는 것도 좋습니다. 다른 환경에서는 정상인데 현재 네트워크에서만 문제가 보인다면 네트워크 필터링, DNS 캐시, 프록시 설정처럼 접속 환경 쪽을 의심할 단서가 됩니다.

로그인이 필요한 서비스라면 오류가 발생한 정확한 주소, 시각, 수행하려던 작업을 기록해 두세요. 예를 들어 ‘오후 3시 27분, 주문 결제 버튼을 누른 뒤 502 화면이 나옴’처럼 남기면 고객센터나 사이트 관리자에게 훨씬 유용한 정보를 전달할 수 있습니다. 화면에 개인정보나 인증 토큰이 보일 수 있으므로 전체 화면을 무심코 공유하기보다 주소의 민감한 부분을 가리고 전달하는 것이 안전합니다. 사이트 공지 채널이나 상태 페이지가 있다면 동시에 장애 안내가 올라왔는지도 확인해 보세요.

사이트 관리자라면 이렇게 점검하세요

관리자는 먼저 오류가 한 대의 업스트림에서만 발생하는지, 모든 인스턴스에서 동시에 발생하는지 구분해야 합니다. 로드밸런서의 대상 그룹 상태, 컨테이너 또는 프로세스의 재시작 횟수, CPU·메모리·파일 디스크립터·연결 수를 시간대별로 확인하면 과부하와 장애 범위를 빠르게 파악할 수 있습니다. 같은 시각의 프록시 접근 로그와 오류 로그를 나란히 보고, 어떤 업스트림 주소로 연결을 시도했는지, 연결 거부인지 응답 지연인지, 응답 헤더가 비정상인지 분리해서 읽는 것이 핵심입니다.

두 번째는 타임아웃과 의존 서비스입니다. 애플리케이션 자체가 빨라도 데이터베이스, 캐시, 결제 API, 인증 서버처럼 뒤에 연결된 구성 요소가 느리면 전체 요청이 멈춥니다. 최근에 느려진 쿼리, 연결 풀 고갈, 외부 API의 장애 공지, 큐 적체를 확인하고 필요한 경우 읽기 전용 페이지나 비핵심 기능을 임시로 줄여 핵심 경로를 살리는 판단이 필요합니다. 타임아웃 값을 무조건 길게 늘리는 것은 원인 해결이 아니라 대기열을 키울 수 있으므로, 실제 처리 시간과 용량을 근거로 조정해야 합니다.

세 번째는 프록시와 네트워크 설정입니다. 업스트림 호스트명, 포트, 프로토콜, TLS 설정, 전달 헤더, 헬스체크 URL이 현재 애플리케이션과 맞는지 배포 전후 차이를 비교하세요. 방화벽 규칙과 보안 그룹, 내부 DNS 레코드, 서비스 디스커버리 결과도 함께 점검합니다. 설정을 바꾼 뒤에는 한 번의 정상 응답만 보고 끝내지 말고, 실제 사용자 경로와 동일한 HTTPS 요청을 여러 인스턴스에 분산해 확인해야 합니다. 원인이 확인되기 전에는 광범위한 재시작보다 로그와 지표를 보존하는 편이 후속 분석에 유리합니다.

502 Bad Gateway 오류의 서버 부하, 응답 시간, 네트워크, 프록시 설정 점검 카드
운영자는 업스트림 응답과 프록시 설정을 함께 확인해야 원인을 빠르게 좁힐 수 있습니다.

재발을 줄이는 운영 체크리스트

502를 줄이려면 장애가 난 뒤의 대응뿐 아니라 평소의 관측과 배포 절차가 중요합니다. 프록시의 5xx 비율, 업스트림 연결 실패 수, 평균·상위 응답 시간, 재시작 횟수, 데이터베이스 연결 대기 시간을 대시보드에 모으고, 평소 기준에서 벗어났을 때 알림을 받도록 설정하세요. 단순히 ‘에러가 났다’는 알림보다 어느 경로와 어느 인스턴스에서 늘었는지 보여 주는 지표가 있어야 담당자가 빠르게 움직일 수 있습니다.

배포는 트래픽을 한 번에 모두 새 버전으로 넘기지 않는 방식이 안전합니다. 소수 인스턴스부터 배포해 헬스체크와 실제 요청을 확인하고, 오류율과 응답 시간이 안정적인지 본 뒤 점진적으로 확대하세요. 이전 버전으로 되돌릴 수 있는 절차, 설정 파일의 검토 단계, 의존 서비스 변경 일정도 함께 관리해야 합니다. 특히 프록시 설정과 애플리케이션 포트 변경은 따로 보이지 않아도 502를 만들기 쉬우므로 변경 이력을 남겨 두는 습관이 필요합니다.

방문자 입장에서는 502가 보이면 짧게 재시도하고, 다른 환경에서 비교한 뒤, 지속될 때 오류 시각과 주소를 전달하는 순서가 가장 효율적입니다. 운영자 입장에서는 업스트림 상태, 지연 구간, 네트워크, 프록시 설정을 순서대로 확인하고 근거를 남기는 것이 중요합니다. 502 Bad Gateway는 막연한 ‘서버 오류’가 아니라 중간 전달 지점이 뒤쪽 응답을 받지 못했다는 신호입니다. 이 흐름을 이해하면 불필요한 조치 대신 원인에 맞는 해결방법을 선택할 수 있습니다.

오류 메시지를 읽을 때 알아두면 좋은 점

502 화면에 표시되는 문구와 디자인은 서비스마다 다릅니다. 어떤 곳은 단순히 ‘Bad Gateway’만 보여 주고, 어떤 곳은 CDN이나 프록시 사업자의 오류 페이지를 먼저 보여 줄 수 있습니다. 페이지에 요청 ID, 데이터센터 이름, 시간 정보가 함께 나온다면 그 정보는 관리자가 로그를 찾는 데 도움이 됩니다. 다만 요청 ID는 진단용 식별자일 뿐, 그것만으로 원인이 자동으로 결정되는 것은 아닙니다. 같은 오류라도 접속 지역, 접속한 주소, 로그인 여부, 요청 방법에 따라 서로 다른 경로에서 발생할 수 있습니다.

HTTP 상태 코드는 문제의 위치를 정확히 한 점으로 찍어 주기보다, 어떤 층에서 관찰됐는지를 알려 주는 표지판에 가깝습니다. 500은 애플리케이션이 내부 오류를 보고했다는 의미로 쓰이는 경우가 많고, 502는 중간 서버가 뒤쪽 응답을 유효하지 않다고 판단한 경우, 503은 일시적으로 서비스를 제공할 수 없는 경우, 504는 기다리던 응답 시간이 초과된 경우에 흔히 보입니다. 실제 구성과 제품 설정에 따라 구분은 달라질 수 있으므로, 운영자는 상태 코드 하나만 보고 결론을 내리지 말고 로그의 시간 흐름을 확인해야 합니다.

사용자에게는 오류 코드의 기술적 차이보다 현재 할 수 있는 행동을 알려 주는 안내가 더 중요합니다. 서비스 운영자는 장애 페이지에 재시도 권장 시간, 상태 페이지 주소, 고객센터 연락 방법을 명확히 표시하면 문의를 줄이고 신뢰를 지킬 수 있습니다. 반대로 민감한 내부 서버 이름, IP 주소, 상세 스택 추적, 인증 정보는 공개 오류 페이지에 노출하지 않아야 합니다. 진단에 필요한 정보는 내부 로그에 남기고, 방문자에게는 이해하기 쉬운 안내만 제공하는 방식이 안전합니다.

관리자용 초기 대응 순서와 기록 방법

장애 알림을 받으면 먼저 영향 범위를 짧은 문장으로 정리합니다. 예를 들어 ‘모든 페이지가 실패하는지’, ‘특정 API만 실패하는지’, ‘한 지역 또는 한 인스턴스에 집중되는지’, ‘언제부터 시작됐는지’를 확인합니다. 그 다음 최근 30분 안에 있었던 배포, 설정 변경, 인증서 갱신, 인프라 작업, 외부 공급자 장애를 시간순으로 대조합니다. 원인으로 보이는 변경이 있다면 즉시 되돌릴 수 있는지 판단하되, 성급한 여러 변경을 동시에 적용하면 나중에 무엇이 효과가 있었는지 알기 어려워집니다.

프록시 로그에서는 요청 시간, 응답 상태, 업스트림 연결 시간, 업스트림 응답 시간, 대상 호스트를 우선 확인합니다. 애플리케이션 로그에서는 예외 발생 시점, 처리 시간, 의존 서비스 호출 결과를 살핍니다. 두 로그의 시계가 맞지 않으면 분석이 어긋날 수 있으므로 서버 시간 동기화 상태도 점검해야 합니다. 모니터링 그래프에 오류율 급증과 CPU 상승이 동시에 보인다고 해서 곧바로 CPU가 원인이라고 단정하지는 마세요. CPU 상승은 원인일 수도 있고, 재시도 폭주 같은 결과일 수도 있습니다.

복구 후에는 타임라인을 남기는 것이 좋습니다. 최초 탐지 시각, 사용자 영향, 확인한 가설, 적용한 조치, 정상화 시각, 재발 방지 작업을 간단히 기록하면 다음 장애에서 대응 시간이 줄어듭니다. 장애가 외부 API나 클라우드 구간에서 비롯된 경우에도 우리 서비스가 어떤 대체 경로와 안내 문구를 제공했는지 점검할 수 있습니다. 이 기록은 책임을 추궁하기 위한 문서보다, 다음에 더 빨리 알아차리고 더 안전하게 복구하기 위한 운영 자산으로 다루는 편이 바람직합니다.

자주 묻는 질문

502 Bad Gateway가 보이면 내 인터넷만 바꾸면 해결되나요? 때로는 해결될 수 있지만 항상 그렇지는 않습니다. 다른 네트워크나 다른 기기에서도 같은 사이트가 계속 502를 보인다면 사이트 측 장애일 가능성이 큽니다. 반대로 회사망에서만 보이고 모바일 데이터에서는 정상이라면 회사 프록시, 보안 장비, DNS 설정을 점검할 단서가 됩니다. 이 비교는 원인을 확정하는 방법이 아니라, 문의할 때 유용한 관찰 정보를 만드는 방법입니다.

브라우저 캐시를 삭제해야 하나요? 일반적으로는 새로고침과 시크릿 모드 확인부터 해도 충분합니다. 캐시 삭제는 사이트 로그인 정보나 편의 설정을 지울 수 있으므로, 오류가 특정 브라우저에서만 오래 지속되고 다른 환경에서는 정상일 때 선택적으로 시도하세요. 사이트 관리자라면 캐시 무효화 설정이 새 배포와 어긋나지 않았는지 확인해야 합니다. 오래된 정적 파일이 새 API와 맞지 않는 경우도 사용자에게는 502 또는 유사한 오류로 보일 수 있습니다.

얼마나 기다린 뒤 문의해야 하나요? 중요한 업무나 결제가 막혔다면 몇 분만 지속돼도 공식 고객센터나 상태 페이지를 확인하는 것이 좋습니다. 일반 콘텐츠 페이지라면 잠시 후 재시도해 보고, 계속된다면 오류 시각과 주소를 포함해 문의하세요. 운영자는 문의가 들어오기 전에도 5xx 오류율 알림으로 상황을 감지할 수 있어야 합니다. 방문자 문의가 첫 장애 탐지 수단이 되지 않도록 관측 체계를 갖추는 것이 가장 좋은 예방책입니다.

핵심만 다시 정리하면

502 Bad Gateway는 방문자의 요청을 받아 전달하는 중간 서버가 원본 서버로부터 정상적인 응답을 받지 못했을 때 나타나는 HTTP 오류입니다. 따라서 사용자는 잠시 뒤 새로고침하고, 시크릿 모드나 다른 네트워크에서 비교한 다음, 지속되면 오류가 난 주소와 시간을 전달하는 순서로 대응하면 됩니다. 반복 새로고침, 무분별한 프로그램 설치, 민감한 화면의 그대로 공유는 문제를 해결하는 데 도움이 되지 않을 수 있으니 피하는 편이 좋습니다.

운영자는 서버 부하와 프로세스 상태, 업스트림 응답 시간, 데이터베이스와 외부 API, DNS와 방화벽, 리버스 프록시 설정을 차례대로 확인해야 합니다. 가장 중요한 것은 오류율이 올라간 시간과 최근 변경 사항을 연결해 보는 일입니다. 지표·로그·배포 기록을 함께 보면 추측보다 빠르게 원인을 좁힐 수 있고, 복구 후에는 같은 문제가 반복되지 않도록 용량 계획과 점진 배포, 알림 기준을 보완할 수 있습니다.

일시적인 502는 누구에게나 발생할 수 있지만, 명확한 안내와 체계적인 점검이 있으면 사용자 불편과 운영 손실을 크게 줄일 수 있습니다. 방문자와 관리자가 각각 할 수 있는 일을 구분하고, 확인한 사실을 시간과 함께 기록하는 습관이 가장 현실적인 해결방법입니다. 서비스가 정상화된 뒤에도 오류가 발생한 시간대의 지표를 보관하고, 다음 트래픽 증가를 대비해 병목 구간과 안내 절차를 한 번 더 점검해 두면 같은 상황에서 더 차분하고 빠르게 대응할 수 있습니다.