504 게이트웨이 타임아웃 오류는 HTTP 상태 코드로, 서버가 요청을 처리하지 못했을 때 클라이언트에게 반환하는 응답 코드의 한 종류입니다. 웹을 사용하다 보면 한 번쯤 겪어봤을 오류지만, "500 내부 서버 오류"와 같은 다른 5xx 계열 오류에 비해 자주 발생하는 편은 아닙니다.502 Bad Gateway 오류이 가이드에서는 해당 오류의 의미와 WordPress에서 해결하는 방법을 설명합니다.
사용자가 웹사이트를 방문하면, 브라우저는 웹사이트를 호스팅하는 WordPress 웹 서버로 HTTP 요청을 보냅니다. 서버는 각 요청을 받으면 요청된 리소스와 함께 HTTP 상태 코드를 반환합니다. 평소에는 이 과정이 사용자에게 보이지 않지만, 문제가 발생하면 무엇이 잘못되었는지 알려주는 HTTP 오류 코드가 화면에 표시됩니다.
블로그 시작하기
NVMe 스토리지와 전 세계 어디서나 낮은 지연 시간을 제공하는 고성능 서버에 WordPress를 직접 운영하세요. 원하는 배포판을 선택할 수 있습니다.
WordPress VPS 시작하기504 Gateway Timeout 오류란 무엇인가요?
이것은 5xx 시리즈 상태 코드입니다. '5' 시리즈는 서버 측 오류로, 문제 해결은 관리자의 몫입니다. 오류 코드는 몇 가지 종류가 있으며, 각각 해결 방법이 다릅니다(예시는 HTTP 오류 505 빠른 해결 가이드)를 참고하세요). 오류는 사용자의 브라우저, 인터넷 연결, 그 사이 어딘가, 또는 서버에서 발생할 수 있습니다. 사용자 환경 외부에서 발생하는 오류가 바로 서버 측 오류입니다. 여러 서버 간의 통신 오류로 요청이 완료되지 못할 때 나타납니다.
이 오류는 사용자(또는 인터넷을 탐색 중인 여러분)에게 다양한 형태로 표시될 수 있습니다. 예를 들면 다음과 같습니다.
- 504 Gateway Timeout
- 504 게이트웨이 시간 초과 nginx
- 게이트웨이 시간 초과 오류
- HTTP 오류 504
- 504 Gateway Time-out – 서버가 제시간에 응답하지 않았습니다
- 이 페이지가 작동하지 않습니다. 도메인 응답 시간이 너무 오래 걸렸습니다
- HTTP 오류 504 – 게이트웨이 시간 초과
- Gateway Timeout (504)
- HTTP 504
- 504 오류
그렇다면 이 오류는 무엇을 의미할까요?
504 오류의 원인은 무엇인가요?
504 Gateway Timeout 오류는 사용자와 웹사이트 사이에서 게이트웨이 또는 프록시 역할을 하는 서버가 다른 서버로부터 제때 응답을 받지 못했을 때 표시됩니다. 쉽게 말해, 웹사이트에 요청이 전송됐지만 응답을 기다리다 시간이 초과된 것입니다.
이 오류의 가장 흔한 원인은 연결 문제입니다.
- 불안정한 인터넷 연결 이 사용자 측에서 발생하여 통신 오류를 일으키고, 결국 응답을 받지 못하게 됩니다.
- 브라우저 호환성 문제 역시 통신 오류를 유발하여 응답 시간 초과로 이어질 수 있습니다.
- 잘못된 프록시 설정 은 요청이 서버에 도달하는 것을 막아 응답을 받지 못하게 합니다.
하지만 서버 자체에 문제가 있을 수도 있습니다. WordPress 웹사이트를 성능이 낮은 기기나 서버로 호스팅하고 있다면, 특히 트래픽이 몰리는 시간대에 서버가 요청에 제때 응답할 리소스가 부족해질 수 있습니다. 이로 인해 웹 성능이 저하되고 응답 시간 초과가 발생합니다.
비슷한 맥락으로, 공유 호스팅 플랜을 사용하는 경우, 공유 서버에 호스팅된 웹사이트 중 하나 또는 두 개에만 트래픽이 몰려도 같은 서버에서 운영 중인 모든 웹사이트가 느려질 수 있습니다. 이름에서 알 수 있듯이, 공유 호스팅에서는 모든 리소스가 공유됩니다 모든 클라이언트가 동시에 자원을 나눠 씁니다. 이는 전용 리소스를 단독으로 사용하는 VPS와는 다릅니다. 이것이 바로 많은 분들이 WordPress VPS 공유 호스팅 대신에.
504 게이트웨이 타임아웃 오류는 서버의 방화벽 설정 오류로 인해 발생하기도 합니다. 이는 Content Delivery Network(CDN)를 통해 사용자에게 콘텐츠를 더 빠르게 제공하는 환경에서 특히 자주 나타납니다. CDN는 웹 서버와 사용자 사이에 위치한 프록시 서버 네트워크로, 자주 요청되는 정적 데이터를 네트워크상 더 가까운 지점에서 사용자에게 전달합니다. 이를 통해 지연 시간을 줄이고 웹 서버의 부하를 낮출 수 있습니다. 그러나 방화벽이 CDN 네트워크를 통해 들어오는 일부 요청(예: Cloudflare)을 차단할 수 있습니다.
504 오류의 또 다른 주요 원인은 DNS 오류입니다. DNS 설정이 잘못 구성되어 있거나, 공개 DNS 서버에서 해당 웹사이트 정보에 오류가 있으면 사용자의 요청이 서버를 찾지 못해 타임아웃 오류가 발생할 수 있습니다. 사용자 측의 잘못된 DNS 설정이나 프록시 서버 문제로 인해 동일한 오류가 나타나기도 합니다.
블로그 시작하기
NVMe 스토리지와 전 세계 어디서나 낮은 지연 시간을 제공하는 고성능 서버에 WordPress를 직접 운영하세요. 원하는 배포판을 선택할 수 있습니다.
WordPress VPS 시작하기504 게이트웨이 타임아웃 오류를 해결하는 방법
앞서 설명한 것처럼, 504는 서버 측 오류로 분류되지만 사용자 측 문제로 인해 발생하는 경우도 있습니다. 웹사이트에서 504 오류가 보고되면, 사용자 측부터 서버 측까지 가능한 원인을 단계적으로 추적해 보세요.
WordPress 웹사이트에서 이 오류를 수정하기 전에, 일부 방법은 서버 파일 및 설정 변경이 필요하다는 점을 유의하세요. 작업 전에 반드시 웹사이트 백업 과 변경할 모든 항목을 미리 저장해 두세요.
1. 새로고침 또는 다시 로드 페이지
먼저 실제로 문제가 있는지 확인하세요. 일시적인 오류일 수도 있습니다. 서버가 잠깐 과부하 상태였다면 페이지를 새로고침하면 정상적으로 로드될 수 있습니다. 몇 분 기다린 후 새로고침 버튼을 누르거나, Windows에서는 Ctrl+R, Mac에서는 cmd+R을 눌러보세요.

2. T다른 브라우저를 시도해보세요.
사용 중인 브라우저 자체의 문제일 수 있습니다. 다른 브라우저로 접속해서 오류가 계속 나타나는지 확인해 보세요.
3. C다른 위치에서 확인하기.
페이지를 새로고침하기 전 몇 분을 기다리는 동안, 문제가 사용자 기기에 있는지 서버 측에 있는지 확인할 수 있습니다. 다양한 위치에서 웹사이트 상태를 점검할 수 있는 서비스들이 있습니다. 모두에게 다운된 건지 나만 다운된 건지 or 지금 다운되었나요?
사용자 측 문제라면 브라우저, 인터넷 설정, 방화벽, 프록시, 또는 연결 상태에 문제가 있을 수 있습니다. 기기나 네트워크 장비를 재시작하면 해결되는 경우도 많습니다.
4. DNS 캐시 플러시
504 게이트웨이 타임아웃 오류가 잘못되었거나 오래된 DNS 캐시 때문에 발생하는 경우도 있습니다. 캐시를 초기화하는 방법은 간단하지만, 운영 체제에 따라 절차가 다릅니다.
Windows에서 시스템의 DNS 레코드를 전부 초기화하려면 명령 프롬프트(cmd)를 열고 아래 코드를 입력한 뒤 Enter 키를 누르세요.
ipconfig /flushdns
명령이 실행되면 아래 이미지와 같은 결과가 표시됩니다.

Mac OSX를 사용하고 있다면 터미널을 열고 아래 코드를 입력하면 시스템의 DNS 레코드가 초기화됩니다.
sudo killall -HUP mDNSResponder
Linux 시스템을 사용하고 있다면 터미널 창을 열고 아래 코드를 입력하세요.
sudo/etc/init.d/nscd restart
지금까지의 방법은 사용자 측 DNS를 초기화하는 과정입니다. 문제가 서버 측에 있다면 이 단계만으로는 해결되지 않을 가능성이 높습니다. 이제 WordPress 서버에서 직접 문제를 해결할 차례입니다.
5. DNS 문제
웹 서버의 DNS 설정을 최근에 변경했다면, 변경 사항이 인터넷 전체에 반영되기까지 최대 24시간이 걸릴 수 있습니다. 그 사이에 일부 네트워크에서 접속을 시도하는 사용자들은 웹사이트를 찾거나 연결하는 데 실패할 수 있습니다.
DNS 문제로 인해 HTTP 상태 코드가 발생하는지 확인하려면, DNS 서버를 일시적으로 Google Public DNS로 전환해 볼 수 있습니다. 단, 이 방법은 어느 정도 기술적인 지식이 있는 사용자에게 권장됩니다.
블로그 시작하기
NVMe 스토리지와 전 세계 어디서나 낮은 지연 시간을 제공하는 고성능 서버에 WordPress를 직접 운영하세요. 원하는 배포판을 선택할 수 있습니다.
WordPress VPS 시작하기6. 에러 로그 확인
504 게이트웨이 타임아웃 오류는 최근 웹사이트 변경이나 업데이트로 인해 발생하기도 합니다. 에러 로그를 확인하면 원인을 빠르게 파악할 수 있습니다. WordPress 웹사이트에서는 wp-config.php 파일에 아래 코드를 추가하면 에러 메시지 로깅을 활성화할 수 있습니다.
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
설정이 완료되면, 생성된 모든 로그는 wp-contents/debug.log 파일에 기록됩니다.

7. 플러그인 확인
504 타임아웃 오류의 원인이 잘못된 플러그인인 경우는 흔합니다. 오래되었거나 호환되지 않는 플러그인과 확장 기능은 WordPress에서 다양한 문제와 오류를 일으킬 수 있습니다. 특히 캐싱 관련 플러그인이 문제의 원인일 수 있지만, 어떤 플러그인이 범인인지 바로 알기는 어렵습니다.
WordPress 플러그인 중 어떤 것이 504 게이트웨이 타임아웃 오류를 유발하는지 확인하려면, WordPress 플러그인을 모두 비활성화한 후 하나씩 다시 활성화하면서 504 타임아웃 오류를 일으키는 플러그인을 찾아야 합니다.
WP 관리자 대시보드에 Go하고, 플러그인 탭으로 이동합니다. "플러그인" 앞의 체크박스를 선택해 전체 플러그인을 선택한 다음, "일괄 작업" 메뉴에서 비활성화를 선택하고 적용을 클릭합니다.

플러그인을 모두 비활성화했을 때 문제가 해결된다면, 특정 플러그인이 원인임을 알 수 있습니다. 플러그인을 하나씩 다시 활성화하면서 문제가 재발하는지 확인하세요. 문제를 일으키는 플러그인을 찾으면 해당 플러그인을 비활성화하거나 삭제하고, 나머지 플러그인은 이전 상태로 복원합니다.
8. 콘텐츠 전송 네트워크(CDN) 확인
CDN를 사용해 웹사이트 콘텐츠를 더 빠르게 제공하고 있다면, 해당 서비스 쪽에도 문제가 없는지 확인해야 합니다. Cloudflare는 중소 규모 웹사이트에서 가장 많이 사용되는 CDN 솔루션 중 하나로, CDN와 클라우드 보안 시스템을 겸하면서 DDoS 공격을 차단합니다.

위와 같은 504 오류는 Cloudflare 측에서 문제가 발생했을 때 나타납니다. Cloudflare 고객 지원팀에 문의하거나, Cloudflare를 완전히 비활성화할 수 있습니다. 비활성화를 선택할 경우, DNS 레코드 변경 사항이 적용되기까지 몇 시간이 걸릴 수 있습니다.
그러나 아래와 같은 형태의 504 오류가 더 흔하게 발생합니다. 이 경우는 Cloudflare CDN가 웹 서버로부터 응답을 받지 못하고 있음을 의미합니다.

9. 방화벽 설정 확인
방화벽을 올바르게 설정하는 것은 웹사이트의 동작과 요청 처리에 매우 중요합니다. 특히 CDN를 사용해 콘텐츠를 제공할 때는, 동일한 CDN 노드에서 요청이 집중되어 방화벽이 이를 불필요한 트래픽으로 판단하고 차단할 수 있습니다.
이 문제를 해결하려면, 웹사이트 방화벽에서 CDN의 모든 IP 주소를 허용 목록에 추가해야 합니다. CDN의 IP 주소 목록은 일반적으로 해당 서비스의 공식 웹사이트에서 확인할 수 있습니다.
서버의 .htaccess 파일에서 IP 주소를 허용 목록에 추가할 수 있습니다. 아래 단계를 순서대로 따라 하세요.
- FileZilla와 같은 FTP 클라이언트를 사용해 웹 서버에 연결한 다음, 웹사이트 파일이 있는 루트 디렉터리로 이동합니다.
- 백업을 위해 .htaccess 파일을 더블클릭하여 다운로드하세요.
- 그런 다음 서버에서 .htaccess 파일을 마우스 오른쪽 버튼으로 클릭하고 View/Edit을 선택합니다.

이제 아래 코드를 파일에 복사해서 붙여넣으세요:
<RequireAny> Require all granted Require ip 127.0.0.1 </RequireAny>
127.0.0.1 자리에 허용할 IP 주소를 입력하세요. 여러 IP를 허용하려면 이 줄을 복사해 아래에 붙여넣고, 각각의 IP 주소로 수정하면 됩니다.
10. 서버 구성 변경
웹사이트에 WordPress VPS 호스팅을 사용 중이라면, 504 게이트웨이 타임아웃 오류를 해결하기 위해 시도해볼 수 있는 몇 가지 방법이 있습니다. 서버 설정과 구성을 조정하고, 특정 리소스 한도를 높이는 작업이 포함됩니다. 단, 항상 기억하세요: 먼저 모든 것을 백업하세요.
이 방법을 사용하려면 VPS에 SSH 접근 권한이 필요합니다. VPS에서 실행 중인 웹 서버가 Apache라면, SSH로 접속하여 httpd.conf 파일을 열고 기본 타임아웃 값을 늘릴 수 있습니다. 파일에 다음 코드를 추가하세요:
# Timeout: The number of seconds before receives and sends time out. Timeout 600
또 다른 널리 쓰이는 웹 서버로 NGINX가 있습니다. NGINX를 사용 중이라면 /etc/nginx/conf.d/timeout.conf 파일을 편집해 타임아웃 설정을 변경할 수 있습니다.
아래 코드를 파일에 추가하세요:
proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600;
11. 호스팅 플랜 업그레이드
WordPress 웹사이트 트래픽이 꾸준히 늘고 있다면, 서버 리소스가 부족해지는 시점이 반드시 옵니다. 이 경우 사용자에게 504 타임아웃 오류가 발생할 수 있습니다. 웹사이트 트래픽에 맞춰 호스팅 플랜을 업그레이드하는 것을 권장합니다.
블로그 시작하기
NVMe 스토리지와 전 세계 어디서나 낮은 지연 시간을 제공하는 고성능 서버에 WordPress를 직접 운영하세요. 원하는 배포판을 선택할 수 있습니다.
WordPress VPS 시작하기결론
504 Gateway Timeout 오류는 서버 측 오류이지만, 실제로는 사용자가 서버로부터 응답을 받지 못하는 상황을 의미합니다. 원인은 사용자의 브라우저나 인터넷 연결부터 웹 서버 자체까지 다양할 수 있습니다.
문제를 찾아 해결하려면 각 단계를 순서대로 확인하면서 어떤 조치가 효과가 있는지 파악한 뒤, 근본적인 원인을 영구적으로 고쳐야 합니다. 위의 단계를 모두 시도했는데도 웹사이트의 504 오류가 해결되지 않는다면, 호스팅 업체의 고객 지원팀에 문의하는 것이 좋습니다.