HTTP 404 에러(클라이언트 에러) 원인과 해결
HTTP 상태 코드 중 하나인 HTTP 404 에러 페이지는 페이지를 찾을 수 없을 때 발생합니다. 도메인의 URL이 삭제된 경우가 가장 흔한 경우이며, 메인 페이지 및 모든 페이지에서 404 에러가 발생하는 경우 문제를 어떤 경우가 있는지 확인 해 보겠습니다.
✅ HTTP 404 에러 원인
Apache Web Server에서 404 페이지가 발생하는 원인은 여러가지가 있습니다.
1. URL이 잘못 입력된 경우
첫 번째로 URL이 잘못 입력된 경우입니다.
2. DNS 설정 확인하기
서버 관리자는 DNS 파일의 레코드 등의 설정에 문제가 없는지 확인해야 합니다.
3. 페이지가 이동 or 파일이 삭제된 경우
서버 내 페이지가 이동 되었거나 콘텐츠가 삭제된 경우, 또는 .html 파일 등이 삭제된 경우입니다. 이런 경우 루트 폴더에 index.html index.php 등의 파일을 만들어서 테스트를 해 볼 수 있습니다.
4. 서버 디스크가 꽉 찬 경우
추가로 서버의 디스크가 꽉 찬 경우 404 에러가 발생되며, 이 때는 특정 디렉토리로 접속하려고 할 때 에러 메시지가 나오므로 빠르게 캐치할 수 있습니다.
5. .htaccess 설정 문제
.htaccess 설정 문제로 의심되는 경우
cp -a .htaccess .htaccess_ori
rm -f .htaccess
파일 복사 또는 mv 명령어로 변경 후 웹페이지에 다시 접속해서 테스트를 해 볼 수 있습니다.
✅ access_log에서 HTTP 404 에러 확인하기
404 에러가 발생하는 페이지를 확인해 볼 수 있습니다.
tail -f access_log | grep 404
94.156.69.118 - - [13/Feb/2024:15:45:30 +0000] "GET /wp-includes/lol.php HTTP/1.1" 404 196 "-" "Mozlila/5.0 (Linux; Android 7.0; SM-G892A Bulid/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Moblie Safari/537.36"
94.156.69.118 - - [13/Feb/2024:15:45:38 +0000] "GET /wp-admin/lol.php HTTP/1.1" 404 196 "-" "Mozlila/5.0 (Linux; Android 7.0; SM-G892A Bulid/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Moblie Safari/537.36"