이 플랫폼에서 403, 404, 500, 502, 503, 504가 실제로 무엇을 의미하는지, 그리고 각각에 대해 구체적으로 무엇을 해야 하는지 설명합니다.
오류 코드는 포괄적인 실패 메시지가 아닙니다. 스택의 어느 계층이 문제를 일으켰는지 알려주며, 이는 원인을 크게 좁혀줍니다. 502와 504는 방문자 입장에서는 동일해 보이지만 원인과 해결 방법이 완전히 다릅니다.
실제 코드 확인하기
문제를 해결하기 전에 실제 숫자를 확인하세요. 보기 좋은 오류 페이지는 한 가지를 말하면서 서버는 다른 것을 반환할 수 있습니다.
브라우저에서 개발자 도구를 열고, Network 탭으로 이동한 뒤 페이지를 새로고침하고 첫 번째 요청을 클릭하세요. 상태는 Headers 패널 상단에 있습니다.
터미널에서는 다음과 같이 합니다.
curl -sSI https://yourdomain.com/
이 명령은 페이지를 다운로드하지 않고 상태 줄과 응답 헤더를 출력합니다. 헤더가 중요합니다. 아래의 여러 사례는 코드만으로는 구분할 수 없고 헤더로 식별됩니다.

요약
| 코드 | 의미 | 누구의 문제인가 |
|---|---|---|
| 401 | 인증 필요 | 암호 보호가 켜져 있음 |
| 403 | 의도적으로 거부됨 | 보안 규칙이 요청을 차단함 |
| 404 | 찾을 수 없음 | 귀하의 사이트, 보통 라우팅 문제 |
| 500 | 귀하의 애플리케이션이 충돌함 | 귀하의 코드 또는 플러그인 |
| 502 | 웹 서버 뒤의 서버가 실패함 | 보통 귀하의 애플리케이션 |
| 503 | 지금 의도적으로 서비스하지 않음 | 정지, 일시중지 또는 유지보수 |
| 504 | 시간이 너무 오래 걸림 | 귀하의 코드 어딘가가 느림 |
401 Unauthorized
페이지 대신 브라우저의 사용자 이름과 비밀번호 입력 상자가 표시됩니다. 이는 사이트 또는 해당 경로에 기본 암호 보호가 활성화되어 있다는 의미입니다.
웹사이트, 사이트, 설정, 그다음 암호 보호에서 이를 끄거나 자격 증명을 확인할 수 있습니다. 암호 보호를 참고하세요.
암호 보호가 켜져 있는 동안에도 인증서 갱신은 계속 작동하므로, 이것이 HTTPS를 손상시키지는 않습니다.
403 Forbidden
403은 무언가가 의도적으로 요청을 거부했다는 의미입니다. 이 플랫폼에는 네 가지 서로 다른 원인이 있습니다.
웹 애플리케이션 방화벽. 모든 사이트는 들어오는 요청을 검사하고 알려진 공격 패턴과 일치하는 요청을 차단하는 규칙 엔진 뒤에 있습니다. 이는 예기치 않은 403의 가장 흔한 원인이며, 거의 항상 정상적이지만 특이한 요청에 대한 오탐입니다. 예를 들어 긴 양식 제출, 복잡한 콘텐츠를 저장하는 페이지 빌더, 원시 코드를 게시하는 플러그인 등이 있습니다.
방화벽 차단의 증상: 사이트의 나머지 부분은 정상인데 특정 작업 하나가 매번 403으로 실패하며, 다른 브라우저와 다른 네트워크에서도 동일하게 실패합니다.
해결 방법은 지원팀이 추가할 수 있는 대상 지정 규칙 제외입니다. 방화벽을 끄는 스위치를 찾지 마세요. 공유 호스팅에는 그런 것이 없으며, 설령 있다 해도 잘못된 해결책입니다. 정확한 URL, 정확한 시간, 그리고 당시 하고 있던 작업을 명시해 지원 티켓을 여세요. 지원 티켓 열기를 참고하세요.
지역 차단. 사이트를 특정 국가로 제한했다면 다른 모든 사람은 403을 받게 됩니다. 설정, 그다음 보안를 확인하세요. 지역 차단을 참고하세요.
IP 차단. Security에서 직접 추가한 것이거나, 플랫폼 차원의 남용 차단입니다.
파일 권한 또는 심볼릭 링크 문제. 덜 흔한 경우이며, 보통 SSH를 통한 수동 파일 작업 이후에 발생합니다.
404 Not Found
서버가 응답했지만 해당 주소에는 아무것도 없습니다.
한 페이지만 404가 발생합니다. 파일 또는 게시물이 실제로 존재하지 않거나, URL이 잘못되었습니다.
홈페이지를 제외한 모든 페이지가 404가 발생합니다. 이는 라우팅 문제이며, WordPress에서는 거의 항상 고유주소(permalink) 문제입니다. 중요: KapsuleHost 웹 호스팅은 Apache가 아니라 nginx에서 실행되므로, .htaccess 재작성 규칙은 여기서 아무 효과가 없습니다. 이러한 규칙을 사용하던 호스트에서 마이그레이션했다면 그것이 원인입니다. 고유주소 문제 및 WordPress와 .htaccess를 참고하세요.
사이트 전체가 404가 발생합니다. 사이트가 올바른 문서 루트를 가리키고 있는지, 그리고 도메인이 올바른 사이트에 연결되어 있는지 확인하세요. 웹사이트의 커스텀 도메인을 참고하세요.
로컬에서는 작동하는데 실제 서비스에서는 404가 발생합니다. Linux 파일 이름은 대소문자를 구분합니다. Logo.PNG과 logo.png은 서로 다른 두 개의 파일입니다.
500 Internal Server Error
애플리케이션이 실행되다가 충돌했습니다. 웹 서버는 정상이고, 코드에 문제가 있습니다.
이 경우는 로그가 거의 즉시 답을 제공하는 유일한 사례입니다. PHP 치명적 오류는 실패한 파일과 줄 번호를 기록하며, 보통 정확한 플러그인 이름까지 알려줍니다.
- 웹사이트, 사이트, 설정, 그다음 로그로 이동하세요.
- 가장 최근 항목을 확인하세요.
- 타임스탬프를 오류가 발생한 시점과 대조하세요.
오류 로그를 참고하세요. 페이지가 오류를 표시하는 대신 비어 있는, WordPress 전용 버전의 이 문제에 대해서는 WordPress 흰 화면을 참고하세요.
가장 흔한 원인은 사용 중인 PHP 버전과 호환되지 않는 플러그인이나 테마, 메모리 한도 도달, 데이터베이스 연결 실패입니다. PHP 확장 및 설정 및 WordPress 메모리 한도를 참고하세요.
502 Bad Gateway
웹 서버가 애플리케이션에 요청을 전달하려 했지만 사용할 수 있는 응답을 받지 못했습니다. 애플리케이션 프로세스가 연결을 거부했거나 요청 처리 도중 중단되었습니다.
흔한 원인:
- PHP 프로세스가 충돌했으며, 대개 한 요청에서 메모리가 부족해진 경우입니다.
- Node.js 애플리케이션이 실행 중이 아니거나 시작 시 충돌했습니다.
- 트래픽 급증으로 사용 가능한 작업자 프로세스가 고갈되었습니다.
해야 할 일: 먼저 위와 같이 로그를 확인하세요. Node 애플리케이션이라면 프로세스가 실제로 가동 중인지 확인하고 시작 출력을 살펴보세요. 가장 바쁜 시간대에만 502가 나타난다면, 이는 버그가 아니라 용량 문제입니다. 사이트 속도 저하 및 리소스 한도를 참고하세요.
설정을 저장하는 도중 KPanel 자체에서 502가 발생하는 경우는 다른 의미입니다. 이는 패널이 웹 서버에 구성 변경 사항을 적용하지 못했고, 사이트를 절반만 구성된 상태로 두는 대신 변경 사항을 롤백했다는 의미입니다. 귀하의 웹사이트는 영향을 받지 않습니다. 다시 시도해 보시고, 계속 실패한다면 티켓을 여세요.
503 Service Unavailable
503은 서버가 지금 의도적으로 서비스를 제공하지 않고 있다는 의미입니다. 이 플랫폼에는 세 가지 구체적인 원인이 있으며, 응답을 보면 어느 것인지 알 수 있습니다.
사이트가 정지되었습니다. "This site is paused"라는 제목의 페이지가 표시됩니다. 이는 기술적 결함이 아니라 결제 또는 계정 상태이며, 해당 상태가 해소되면 사이트가 바로 복구됩니다. 결제을 확인하세요. 결제 실패 및 계정 정지를 참고하세요.
플랫폼 유지보수. 플랫폼 전체의 유지보수 페이지로, 드물게 발생하며 사전에 공지됩니다. 상태 및 가동 시간을 확인하세요.
504 Gateway Timeout
웹 서버가 인내심을 잃었을 때 애플리케이션은 여전히 작업 중이었습니다. 아무것도 충돌하지 않았습니다. 그저 너무 느렸을 뿐입니다.
전형적인 원인:
- 브라우저를 통해 실행된 장시간의 가져오기, 내보내기, 백업 또는 대량 작업.
- 페이지가 로드될 때마다 느린 외부 API를 호출하는 플러그인.
- 인덱스가 없는 비용이 큰 데이터베이스 쿼리.
- 실제 cron이 아니라 페이지 조회로 트리거되는 cron 작업.
해야 할 일:
- 어떤 요청이 느린지 확인하세요. WordPress 사이트에서는 APM 탭에서 확인할 수 있습니다. 사이트 성능을 참고하세요.
- 장시간 걸리는 작업에는 브라우저 대신 명령줄을 사용하세요. WP-CLI를 참고하세요.
- 예약된 작업을 실제 cron으로 옮기세요. Cron 작업을 참고하세요.
- 작업에 정말로 더 많은 시간이 필요하다면
max_execution_time을 늘리세요. 다만 이는 근본적 해결책이 아니라 임시방편입니다. PHP 확장 및 설정을 참고하세요.
차이점에 유의하세요: PHP가 자체 실행 한도에 먼저 도달하면 504가 아니라 500이 발생합니다. 둘 다 "너무 느리다"는 의미이지만, 서로 다른 계층에서 발생합니다.
응답이 전혀 없음
때로는 오류 코드조차 없습니다. 응답이 전혀 없기 때문입니다. 연결이 그냥 멈춰 있다가 결국 시간 초과가 됩니다.
이런 일이 한 네트워크에서는 발생하지만 다른 네트워크에서는 사이트가 정상 작동한다면, 특히 휴대폰의 모바일 데이터에서 정상 작동한다면, 가장 가능성 높은 원인은 자동 남용 차단입니다. 즉, 귀하의 주소에서 발생한 일련의 오류나 로그인 실패가 일시적인 네트워크 수준 차단을 유발한 것입니다. 이는 보통 한 시간 이내에 자동으로 해제됩니다. 더 빨리 해제해야 한다면, 연결 중인 IP 주소와 함께 지원팀에 문의하세요.
커스텀 오류 페이지
웹사이트, 사이트, 설정, 그다음 오류 페이지에서 400, 401, 403, 404, 500, 502, 503, 504에 대한 기본 오류 페이지를 직접 작성한 HTML로 교체할 수 있습니다. 별도로 설정하지 않으면 KapsuleHost가 404, 500, 502, 503, 504에 대해 브랜드가 적용된 기본 페이지를 제공합니다.
알아두면 좋은 점 하나: 커스텀 오류 페이지는 실제 상태 코드를 그대로 유지합니다. 커스텀 404 페이지도 여전히 404를 반환합니다. 오류 페이지를 200 상태로 제공하는 것은 검색 순위를 망치는 전형적인 방법이며, 여기서는 의도적으로 불가능하게 되어 있습니다. 커스텀 오류 페이지를 참고하세요.