TroubleShooting

  • Permission denied: /dev/null 포함 10가지 사례

    Permission denied는 리눅스에서 지금 계정에 그 파일이나 폴더, 명령을 쓸 권한이 없을 때 나오는 오류입니다. 오류 줄 앞의 명령 이름과 경로로 어떤 경우인지 고른 뒤 ls -l로 권한과 소유자를 확인하고, 그 경우에 맞는 권한이나 계정으로 다시 실행하면 해결됩니다. 아래 출력은 AlmaLinux 9.8 서버의 root 계정과 Debian 12 서버의 일반 계정에서 실행한 결과이며, 계정과…

  • meta charset utf-8: 애드센스 크롤러가 한글 이미지 주소를 깨뜨린 404와 php-fpm 꽉 참 문제

    HTML 앞부분에서 meta charset utf-8 선언을 찾지 못하고 응답 머리에도 charset이 없으면, 읽는 쪽은 문서의 문자 인코딩을 짐작하거나 기본값으로 읽게 됩니다. Nginx와 Apache 구성의 워드프레스 서버에서 애드센스 크롤러가 깨진 한글 이미지 주소로 요청을 몰아 보내 404 처리에 PHP 워커가 모두 찬 일을 로그로 추적한 결과, 캐시본 응답 머리에 charset을 붙이고 없는 정적 파일은…

  • 리눅스 커널 취약점 CVE-2026-98432: 임시 차단과 커널 패치 적용

    CVE-2026-98432는 IPv4 TCP 연결을 받는 커널 코드에서 해제된 메모리를 다시 읽는 리눅스 커널 취약점으로, 리눅스 커널 CVE 팀이 Critical 등급으로 평가했습니다. 원격에서 인증 없이 공격할 수 있는 결함이라 Nginx와 Apache 구성의 AlmaLinux 9.8 라이트세일 서버에서 고친 커널 패키지로 업데이트하고 재부팅한 뒤, 실행 중인 커널 버전으로 패치를 확인하게 되었습니다. TCP 연결 요청(SYN)에 IPv4 옵션이…

  • gclid 캐시: 광고 클릭 쿼리와 페이지 캐시 키, 첫 바이트 실측

    gclid 캐시 처리는 광고 클릭 주소 끝에 붙는 gclid 쿼리를 무시하고 쿼리 없는 주소의 캐시 파일로 응답하는 동작입니다. Nginx + Apache 구성의 워드프레스 서버에서 쿼리와 캐시 유무별 첫 바이트를 측정한 결과, gclid가 더한 시간은 0.014~0.015초였고 몇 초 단위의 지연은 캐시를 사용하지 못한 경우에만 발생했습니다. 같은 서버 안에서 잰 첫 바이트는 쿼리가 없을 때…

  • php-fpm max_children 경고: 워커 증설 전에 로그로 원인 판별

    php-fpm max_children 경고는 PHP 워커 프로세스가 전부 요청을 처리하는 중이라 새 요청이 대기열에 들어갔다는 신호입니다. 이 경고가 몇 주째 누적된 Nginx와 Apache, php-fpm 구성의 워드프레스 서버에서 로그로 워커를 채운 요청을 가려낸 결과, 설정값을 올리는 대신 nginx 속도 제한으로 해결하게 되었습니다. 주간 점검에서 경고는 하루 27~187건씩 기록되었지만 같은 기간 방문자가 받은 502·504 오류는 나흘…

  • OpenSSH 취약점 CVE-2024-6387: 임시 차단과 패치 적용

    OpenSSH 취약점 CVE-2024-6387은 접속한 쪽이 120초 안에 로그인을 끝내지 않을 때 울리는 알람 신호를 파고듭니다. 알람을 처리하는 도중 메모리가 어긋나면 공격자가 심어 둔 코드가 root 권한으로 실행됩니다. 알람을 꺼서 급한 자리를 막고, 업데이트로 코드를 고친 뒤 되돌리는 순서로 정리했습니다. 2006년에 한 번 고쳐졌던 문제가 2020년 코드 정리 과정에서 되살아나 regreSSHion이라는 이름이 붙었습니다. 엔터프라이즈…

  • HTTP 403 에러(403 Forbidden)

    HTTP 403 에러는 지정된 클라이언트가 요청한 리소스에 접근할 권한이 없는 경우 403 Forbidden 에러가 발생합니다. 보통 OS 및 APM을 새로 설치한 경우 Selinux가 켜져 있는 상태이기 때문에 Selinux 설정을 변경하거나 Off로 변경합니다. error_log 확인 시 권한 httpd.conf 파일에 아파치 권한 설정이 되어 있지 않은 경우 발생할 한 것을 확인되어 수정을 진행했습니다. 새로 만든…

  • HTTP 503 에러(Service Unavailable) 원인과 해결

    웹사이트에 접속했을 때 발생하는 HTTP 503 에러(Service Unavailable)의 원인은 서버 측에서 발생하는 에러입니다. 서버 과부하, 서버 구성 오류 등 다양한 원인이 있습니다. ✅ HTTP 503 에러 로그 확인하기 먼저 503 error이 발생한 원인을 파악하기 위해 error_log를 확인합니다. ✅ 다양한 HTTP 503 에러 로그 원인 1. httpd 미구동 데몬이 정상적으로 작동하는지 확인해 볼 수…

  • HTTP 404 에러(클라이언트 에러) 원인과 해결

    HTTP 상태 코드 중 하나인 HTTP 404 에러 페이지는 페이지를 찾을 수 없을 때 발생합니다. 도메인의 URL이 삭제된 경우가 가장 흔한 경우이며, 메인 페이지 및 모든 페이지에서 404 에러가 발생하는 경우 문제를 어떤 경우가 있는지 확인 해 보겠습니다. ✅ HTTP 404 에러 원인 Apache Web Server에서 404 페이지가 발생하는 원인은 여러가지가 있습니다. 1….

  • HTTP 상태 코드 표 [100~500] 정리

    HTTP 상태 코드는 운영 중인 서버의 오류를 확인하는 데 매우 중요한 지표로 활용됩니다. HTTP(Hypertext Transfer Protocol)란 웹 서버와 웹 클라이언트 사이에 데이터를 주고 받기 위해 사용되는 프로토콜 중 하나이며, TCP/IP 프로토콜 위에서 동작합니다. HTTP는 HTML, XML과 같은 하이퍼텍스트(Hypertext)만 전송하는 것이 아닌 이미지, 동영상, JavaScript 등의 다양한 파일을 데이터로 전송할 수 있습니다. ✅ HTTP…

End of content

End of content