문제 해결
KapsuleHost의 HTTP 오류 코드
What 403, 404, 500, 502, 503 and 504 actually mean on this platform, and the specific thing to do about each one.
HTTP 오류 코드의 의미와 KapsuleHost에서의 해결 방법
오류 코드는 일반적인 실패 메시지가 아닙니다. 스택의 어느 계층에서 오류가 발생했는지 알려주므로 원인을 크게 좁힐 수 있습니다. 502와 504는 방문자에게 동일해 보이지만 원인과 해결 방법이 완전히 다릅니다.
실제 코드 읽기
문제를 해결하기 전에 실제 숫자를 확인하세요. 예쁜 오류 페이지는 한 가지를 말할 수 있지만 서버는 다른 것을 반환할 수 있습니다.
브라우저에서 개발자 도구를 열고, 네트워크 탭으로 이동한 후, 페이지를 새로 고치고 첫 번째 요청을 클릭합니다. 상태는 헤더 패널 상단에 있습니다.
터미널에서:
curl -sSI https://yourdomain.com/
페이지를 다운로드하지 않고 상태 라인과 응답 헤더를 출력합니다. 헤더가 중요합니다. 아래의 여러 경우는 코드 자체가 아니라 헤더로 식별됩니다.
요약 버전
| 코드 | 의미 | 누구의 문제 |
|---|---|---|
| 401 | 인증 필요 | 암호 보호가 설정되어 있음 |
| 403 | 의도적으로 거부됨 | 보안 규칙이 요청을 차단함 |
| 404 | 찾을 수 없음 | 귀하의 사이트, 대개 라우팅 문제 |
| 500 | 애플리케이션 충돌 | 귀하의 코드 또는 플러그인 |
| 502 | 웹 서버 뒤의 서버 실패 | 대개 귀하의 애플리케이션 |
| 503 | 의도적으로 현재 서비스하지 않음 | 중단됨, 일시 중지됨 또는 유지보수 중 |
| 504 | 시간 초과 | 귀하의 코드의 무언가가 느림 |
401 Unauthorized
브라우저 사용자 이름 및 암호 상자가 페이지 대신 표시됩니다. 이는 사이트 또는 해당 경로에 기본 암호 보호가 설정되어 있음을 의미합니다.
이를 비활성화하거나 웹사이트, 사이트, 고급, 암호 보호에서 자격 증명을 확인하세요. 암호 보호를 참조하세요.
암호 보호가 켜져 있어도 인증서 갱신은 계속 작동하므로 HTTPS를 손상시키지 않습니다.
403 Forbidden
403은 무언가가 의도적으로 요청을 거부했음을 의미합니다. 이 플랫폼에는 네 가지 고유한 원인이 있습니다.
웹 애플리케이션 방화벽. 모든 사이트는 들어오는 요청을 검사하고 알려진 공격 패턴과 일치하는 것을 차단하는 규칙 엔진 뒤에 있습니다. 이것은 예상치 못한 403의 가장 일반적인 원인이며, 거의 항상 합법적이지만 비정상적인 요청에 대한 거짓 긍정입니다. 긴 양식 제출, 페이지 빌더가 복잡한 콘텐츠를 저장하는 경우, 플러그인이 원본 코드를 게시하는 경우입니다.
방화벽 차단의 증상: 한 가지 특정 작업이 403으로 매번 실패하는 반면 사이트의 나머지 부분은 정상이며, 다른 브라우저와 다른 네트워크에서도 동일하게 실패합니다.
해결 방법은 지원팀이 추가할 수 있는 대상 규칙 제외입니다. 방화벽을 끄는 스위치를 찾지 마세요. 공유 호스팅에는 없으며, 어쨌든 잘못된 해결 방법입니다. 정확한 URL, 정확한 시간, 그리고 무엇을 했는지를 포함하여 티켓을 오픈하세요. 지원 티켓 열기를 참조하세요.
지역 차단. 사이트를 특정 국가로 제한한 경우 다른 모든 국가는 403을 받습니다. 고급, 보안을 확인하세요. 지역 차단을 참조하세요.
IP 차단. 보안 내에서 직접 추가한 것이거나 플랫폼 수준의 악용 차단입니다.
파일 권한 또는 심링크 문제. 덜 일반적이며, 대개 SSH를 통한 수동 파일 작업 후에 나타납니다.
404 Not Found
서버가 응답했지만 해당 주소에 있는 것이 없습니다.
한 페이지가 404입니다. 파일 또는 게시물이 실제로 없거나 URL이 잘못되었습니다.
홈페이지를 제외한 모든 페이지가 404입니다. 이는 라우팅 문제이며, WordPress에서는 거의 항상 고정링크입니다. 중요: Kapsule 웹 호스팅은 Apache가 아니라 nginx를 실행하므로 .htaccess 재작성 규칙은 여기에서 작동하지 않습니다. Apache를 사용했던 호스트에서 마이그레이션한 경우 그것이 원인입니다. 고정링크 문제 및 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은 서버가 의도적으로 현재 서비스하지 않고 있음을 의미합니다. 이 플랫폼에는 세 가지 구체적인 원인이 있으며, 응답이 어느 것인지 알려줍니다.
사이트가 중단되었습니다. "이 사이트는 일시 중지 중입니다"라는 제목의 페이지가 표시됩니다. 이는 기술적 결함이 아니라 청구 또는 계정 상태이며, 상태가 명확되면 사이트가 바로 돌아옵니다. 청구를 확인하세요. 결제 실패 및 계정 중단을 참조하세요.
Orbit 프로젝트가 지출 상한선에 도달했습니다. 응답은 X-Orbit-Paused: spending-cap 헤더를 가지며, 페이지는 사이트가 월별 지출 상한선에 도달했음을 말합니다. 아무것도 손상되지 않았고 지원 티켓이 필요하지 않으므로 이것은 사람들을 혼동시킵니다. 프로젝트는 의도적으로 서빙을 중단하여 예상치 못한 청구를 받지 않도록 했습니다.
재개하려면: Orbit, 프로젝트, 설정, 지출 상한선으로 이동하여 상한선을 높입니다. 서빙은 변경이 적용되면 재개되며, 최대 1시간이 걸릴 수 있습니다. 다음 청구 기간이 시작될 때도 자동으로 재개됩니다. Orbit 지출 상한선을 참조하세요.
플랫폼 유지보수. 전체 플랫폼 유지보수 페이지로, 드물고 공지됩니다. 상태 및 가동 시간을 확인하세요.
504 Gateway Timeout
웹 서버의 인내심이 떨어졌을 때 애플리케이션이 여전히 작동하고 있었습니다. 아무것도 충돌하지 않았습니다. 단지 너무 느렸습니다.
일반적인 원인:
- 브라우저를 통해 실행되는 장시간 가져오기, 내보내기, 백업 또는 대량 작업입니다.
- 모든 페이지 로드에서 느린 외부 API를 호출하는 플러그인입니다.
- 뒤에 인덱스가 없는 비용이 큰 데이터베이스 쿼리입니다.
- 실제 cron이 아니라 페이지 보기에 의해 트리거되는 cron 작업입니다.
할 일:
- 느린 요청을 식별합니다. WordPress 사이트의 APM 탭에 표시됩니다. 사이트 성능을 참조하세요.
- 장시간 작업의 경우 브라우저가 아니라 명령줄을 사용합니다. WP-CLI를 참조하세요.
- 예약된 작업을 실제 cron으로 이동합니다. Cron 작업을 참조하세요.
- 작업이 정말로 더 오래 필요하면
max_execution_time을 높입니다. 이것은 해결책보다는 임시 방편입니다. PHP 확장 및 설정을 참조하세요.
차이를 참고하세요: PHP가 자신의 실행 제한에 먼저 도달하면 504가 아니라 500을 받습니다. 둘 다 다른 계층에서 "너무 느림"을 의미합니다.
응답 없음
응답이 없기 때문에 오류 코드가 없는 경우가 있습니다. 연결이 그냥 걸려 있다가 결국 타임아웃됩니다.
한 네트워크에서는 발생하지만 다른 네트워크에서는 사이트가 작동하고, 특히 모바일 데이터의 휴대폰에서는 가장 가능성 있는 원인은 자동 악용 차단입니다. 주소에서의 오류 또는 실패한 로그인 폭증이 임시 네트워크 수준의 금지를 트리거했습니다. 이들은 대개 1시간 이내에 자동으로 정리됩니다. 더 빨리 해제하려면 연결 중인 IP 주소를 포함하여 지원팀에 문의하세요.
사용자 정의 오류 페이지
웹사이트, 사이트, 고급, 오류 페이지 아래에서 400, 401, 403, 404, 500, 502, 503 및 504에 대한 기본 오류 페이지를 자신의 HTML로 바꿀 수 있습니다. Kapsule은 하지 않는 경우 404, 500, 502, 503 및 504에 대한 브랜드 기본값을 제공합니다.
알아두면 좋은 한 가지: 사용자 정의 오류 페이지는 실제 상태 코드를 유지합니다. 사용자 정의 404는 여전히 404를 반환합니다. 200 상태로 오류 페이지를 서빙하는 것은 검색 순위를 파괴하는 고전적인 방법이며, 의도적으로 여기에서는 불가능합니다. 사용자 정의 오류 페이지를 참조하세요.