웹사이트
사용자 정의 오류 페이지
A custom error page replaces the plain server default with your own branded HTML, while keeping the true error status so search engines still see a real 404. This guide covers adding a page for each…
커스텀 오류 페이지는 일반 서버 기본값을 자신의 브랜딩된 HTML로 바꾸면서 진정한 오류 상태를 유지하므로 검색 엔진은 여전히 실제 404를 봅니다. 이 가이드는 지원되는 각 코드에 대한 페이지 추가, 안전을 위해 제거되는 항목, 그리고 확인 배지가 작동하는 방식을 다룹니다.
KPanel에서 오류 페이지가 저장되는 위치
- KPanel에 로그인합니다.
- 왼쪽 사이드바에서 Websites를 클릭한 다음 사이트를 클릭합니다.
- 사이트의 탭 스트립에서 Advanced를 열고 Error pages를 엽니다.
직접 주소는 /websites/<site-id>/error-pages입니다.

왜 신경 써야 하나
기본 서버 오류 페이지는 막다른 골목입니다. 브랜딩도 없고, 네비게이션도 없으며, 설명도 없어서 이를 본 방문자는 보통 떠납니다.
커스텀 페이지는 이를 사이트로 돌아가는 경로로 바꿉니다: 당신의 로고, 당신의 타이포그래피, 당신의 목소리로 한 문장, 그리고 홈 링크 또는 검색창으로의 링크. 큰 사이트에서 오타가 있거나 만료된 URL은 꾸준한 트래픽 유입이고, 404 페이지는 당신이 만들어본 가장 저렴한 복구입니다.
지원되는 코드
8개의 코드에 대해 커스텀 페이지를 설정할 수 있으며, 코드당 하나의 페이지입니다:
| 코드 | 의미 | 일반적인 원인 |
|---|---|---|
| 400 | Bad Request | 형식이 잘못된 요청 |
| 401 | Unauthorized | 인증 필요 또는 실패 |
| 403 | Forbidden | 액세스 규칙이 요청을 차단함 |
| 404 | Not Found | 해당 URL에 아무것도 존재하지 않음 |
| 500 | Internal Server Error | 애플리케이션 실패 |
| 502 | Bad Gateway | 애플리케이션이 올바르게 응답하지 않음 |
| 503 | Service Unavailable | 애플리케이션이 다운되었거나 과부하 상태 |
| 504 | Gateway Timeout | 애플리케이션이 응답하는 데 너무 오래 걸림 |
404부터 시작하세요. 가장 흔한 코드이며, 오류가 아닌 일반 브라우징을 통해 방문자가 도달하는 유일한 코드입니다.
5xx 계열은 다음으로 처리할 가치가 있습니다. 이는 최악의 날에 사람들이 보는 페이지이기 때문입니다. 뭔가 잘못되었다고 말하고 이메일 주소를 제공하는 차분한 브랜딩 페이지가 공백 서버 오류보다 훨씬 낫습니다.
페이지 추가
- Add error page를 클릭합니다.
- 드롭다운에서 오류 코드를 선택합니다. 이미 사용 중인 코드는 나열되지 않습니다.
- HTML body 필드의 샘플 HTML을 자신의 것으로 바꿉니다.
- Add error page를 클릭합니다.
편집기는 편집 가능한 작동하는 404 문서로 시작하며, 빨리 깔끔한 것을 원한다면 합리적인 시작점입니다.
HTML 작성
doctype부터 시작하는 완전한 HTML 문서를 제공합니다. 그대로 제공되므로 독립적으로 작동해야 합니다.
안전을 위해 페이지가 저장되기 전에 일부 HTML이 제거됩니다:
<script>태그onclick같은 인라인 이벤트 핸들러- iframe
- 원격 스타일시트
제거된 항목이 있으면 저장 후 경고가 표시됩니다.
원격 스타일시트가 제거되므로, 오류 페이지는 사이트의 주 CSS 파일을 가져올 수 없습니다. 인라인 CSS 또는 문서 헤드의 <style> 블록으로 스타일을 지정합니다. 이는 의도적입니다: 오류 페이지는 사이트의 나머지 부분이 손상되었을 때 렌더링되어야 하며, 실패한 서버에서 자산을 가져오는 것에 의존하는 페이지는 정확히 잘못된 순간에 스타일 없는 텍스트로 렌더링됩니다.
실용적인 지침:
- 작고 자체 포함되도록 유지합니다. 모든 것을 인라인합니다. 외부 이미지를 피합니다. 페이지 목록은 각 페이지의 크기를 KB로 표시합니다.
- 일반적인 말로 무엇이 일어났는지 말합니다. "We could not find that page"는 "404 Not Found"보다 낫습니다.
- 앞으로 나아갈 방법을 제공합니다. 홈 링크, 주요 섹션으로의 링크, 또는 검색창.
- 5xx 페이지에 연락 경로를 포함합니다. 방문자가 사이트를 사용하여 당신에게 연락할 수 없기 때문입니다.
- 리디렉트로 사용하지 마십시오. URL이 이동했으면 올바르게 리디렉트합니다. Site Redirects를 참조합니다.
상태 코드는 유지됩니다
커스텀 페이지는 200이 아닌 진정한 오류 상태로 제공됩니다. 404는 클라이언트까지 404로 유지됩니다.
이는 들리는 것보다 더 중요합니다. 200으로 반환된 브랜딩 페이지는 소프트 404입니다: 검색 엔진이 이를 실제 페이지로 인덱싱하고, 분석은 이를 성공적인 보기로 계산하며, 깨진 링크는 어떤 도구에서도 플래그되지 않습니다. Kapsule이 진정한 상태를 유지하기 때문에 이 모든 것이 계속 올바르게 작동합니다.
상태 배지 읽기
Status 열은 실제로 확인할 수 있는 것을 보고하며, 제한 사항에 대해 의도적으로 정직합니다.
| 배지 | 의미 |
|---|---|
| Verified: branded page served (true 404) | 외부에서 404를 강제로 실행했고 올바른 상태로 페이지를 받았습니다 |
| Configured (not externally tested) | 페이지가 적용됩니다. 이 코드는 외부에서 요청할 수 없습니다 |
| Not yet verified | 확인이 아직 실행되지 않았습니다 |
| Applied, live test inconclusive | 프로브가 깨끗한 404 이외의 항목을 받았으며, 종종 리디렉트가 이를 포착했기 때문입니다 |
| Got a 404 but the branded page was not served | 규칙이 적용되어 있지만 페이지가 반환되지 않았습니다. 다시 저장해 봅니다 |
404만 외부에서 강제로 실행할 수 있습니다. 존재하지 않는 URL을 요청하면 안정적으로 404를 생성하지만, 건강한 서버가 깨뜨리지 않고 요청 시 진정한 500을 생성할 방법이 없습니다. 따라서 다른 코드는 발생하지 않은 확인을 주장하지 않고 Configured를 보고합니다. 오류가 실제로 발생할 때 여전히 제공됩니다.
서버의 다른 구성이 동일한 도메인을 주장한다는 경고가 표시될 수도 있습니다. 이것이 해결될 때까지 오류 페이지가 적용되지 않을 수 있습니다. 이를 보면 지원팀에 문의하십시오.
실제로 오류가 발생하는 사이트 문제 해결
페이지가 더 나은 페이지를 원하기 때문이 아니라 오류를 발생시키고 있어서 여기에 있다면, 페이지에 단축키가 있습니다: 배너 맨 위의 Troubleshoot with Kora 버튼입니다.
이는 KPanel 내부의 보조자인 Kora에게 이 사이트의 오류 로그와 최근 실패를 읽고 가능한 원인과 해결 방법을 알려달라고 요청합니다. 이는 원본 로그를 읽는 것보다 훨씬 빠른 첫 번째 단계입니다.
기본 성능 그림은 Site Performance and APM을 참조하고, 시간 경과에 따른 오류율은 Site Traffic Analytics를 참조합니다.
편집 및 제거
각 행에는 편집 버튼(코드가 고정되고 HTML이 로드된 같은 편집기 열기)과 제거 버튼이 있습니다.
제거하면 확인을 요청하고 결과를 설명합니다: 해당 코드에 도달하는 요청은 서버 기본 페이지로 폴백됩니다.
문제 해결
내 페이지가 표시되지 않습니다. 올바른 코드를 트리거하고 있는지 확인합니다. 리디렉트하는 경로는 404에 도달하지 않습니다. 실제로 존재하지 않는 URL로 테스트하고, 캐시가 관련되지 않도록 개인 창에서 테스트합니다.
페이지가 표시되지만 스타일이 없어 보입니다. 스타일시트가 원격 자산으로 제거되었습니다. CSS를 인라인합니다.
추적 스크립트가 없습니다. 스크립트는 의도적으로 제거됩니다. 여기서 커스텀 오류 페이지에서 JavaScript를 실행할 수 있는 방법이 없습니다.
모든 코드에 이미 페이지가 있습니다. 8개 모두 사용 중입니다. 다른 페이지를 추가하지 않고 기존 페이지를 편집합니다.
배지가 브랜딩 페이지가 제공되지 않았다고 말합니다. 페이지를 다시 저장합니다. 지속되고 도메인 충돌 경고가 표시되지 않으면 티켓을 엽니다.
관련 페이지
- Site Redirects 404가 처음부터 발생하지 않도록 합니다.
- Site Traffic Analytics 실제로 제공 중인 4xx 및 5xx 응답의 수를 확인합니다.
- Password-Protecting a Site는 의도적으로 401 응답을 생성합니다.