NinjaFirewall을 사용하다 보면 워드프레스를 운영하는 중에 이상한 구간을 한 번쯤 겪게 됩니다. 방문자가 많지 않은데도 CPU 사용량이 올라가고, 관리자 페이지가 느려지거나 간헐적으로 멈추는 느낌이 드는 상황입니다.
이럴 때 로그를 확인해 보면 공통적으로 보이는 패턴이 있습니다. 존재하지 않는 파일을 반복해서 요청하거나, wp-admin 경로를 계속 두드리는 접속이 쌓여 있는 경우입니다. 일반적인 사용자 행동과는 확실히 다른 흐름입니다.
이 상태에서는 캐시 설정을 바꾸거나 플러그인을 줄이는 방식으로는 해결이 잘 되지 않습니다. 이유는 단순합니다. 문제의 원인이 내부 설정이 아니라 외부에서 들어오는 요청이기 때문입니다.
그래서 이런 상황을 겪으면 NinjaFirewall을 설치하게 됩니다. 그런데 여기서 또 한 번 막히는 부분이 있습니다. 바로 Full WAF 모드 설정입니다.
목차
왜 Full WAF 모드에서 막히는가

기본 WordPress 모드는 내부에서 동작합니다. 요청이 워드프레스까지 들어온 뒤에 필터링이 이루어지는 방식입니다. 그래서 차단은 되지만 그 전에 PHP가 실행되고, 이 과정이 반복되면 서버는 계속 부담을 받게 됩니다.
반면 Full WAF는 흐름이 다릅니다. 요청이 들어오는 순간 먼저 검사하고, 문제가 있는 요청은 워드프레스까지 도달하기 전에 차단됩니다. 차이를 간단히 정리하면 이렇습니다.
- WordPress 모드 → 들어온 뒤 차단
- Full WAF 모드 → 들어오기 전에 차단
이 차이 때문에 서버 안정성에서 큰 차이가 발생합니다. 그래서 Full WAF를 활성화하려고 하지만, OpenLiteSpeed 환경에서는 오류가 발생하는 경우가 많습니다.
실제로 발생하는 문제 흐름
많은 사용자들이 같은 흐름을 겪습니다.
- Full WAF 활성화 버튼 클릭
- 서버 설정 요구 메시지 표시
- 설정 방법을 몰라 중단
- WordPress 모드 유지
결과적으로 보안은 일부만 적용되고, CPU 문제는 계속 남아 있게 됩니다.
핵심 원인 (가장 중요한 부분)
이 문제의 핵심은 설정이 아니라 “실행 순서”입니다. NinjaFirewall이 Full WAF로 동작하려면 PHP보다 먼저 실행되어야 합니다. 그런데 OpenLiteSpeed 기본 상태에서는 이 연결이 되어 있지 않습니다.
즉, 오류의 본질은 이것입니다. 방화벽이 늦게 실행되는 구조
해결 방법 (실제 적용 흐름)
1️⃣ 먼저 Full WAF 활성화 버튼 클릭

워드프레스 관리자에서 NinjaFirewall에 들어가면 기본적으로 WordPress WAF 모드로 설정되어 있습니다. 여기서 아래 버튼을 눌러야 합니다.
- Activate Full WAF mode
이걸 눌러야 다음 단계로 넘어갑니다.
2️⃣ OpenLiteSpeed 환경 선택

버튼을 누르면 서버 선택 화면이 나옵니다. 여기서 중요한 부분:
- OpenLiteSpeed (recommended) 선택
다른 걸 고르면 제대로 동작하지 않습니다.
3️⃣ 안내 메시지 확인 (핵심 설정 위치)

이 화면에서 중요한 코드가 하나 나옵니다.
예시:
php_value auto_prepend_file "/home/경로/wp-content/nfwlog/ninjafirewall.php"
이 코드를 복사해서 서버에 넣어야 합니다. 이 단계에서 대부분 막힙니다.
4️⃣ OpenLiteSpeed WebAdmin 접속

브라우저 주소창에 입력:
http://서버IP:7080
로그인 후 진행:
- Virtual Hosts 클릭
- 사용 중인 도메인 선택
5️⃣ php.ini Override 설정 추가

도메인 설정 화면에서:
- 상단 메뉴 → General
- 아래로 스크롤
- php.ini Override 항목 찾기
여기서 “편집 버튼”을 눌러서 아까 복사한 코드를 그대로 붙여넣습니다. 이 설정의 의미는 이것입니다:
- PHP 실행 전에 NinjaFirewall 먼저 실행
- 모든 요청을 초기에 필터링
- 이 한 줄이 Full WAF의 핵심입니다
6️⃣ 서버 재시작 (이거 안 하면 적용 안 됨)

설정 저장 후 반드시 해야 하는 작업입니다.
- 좌측 상단 서버 메뉴 클릭
- Graceful Restart 실행
핵심 흐름 정리 (짧게)
설정 전체 흐름은 이렇게 보면 됩니다:
- Full WAF 버튼 클릭
- OpenLiteSpeed 선택
- 코드 복사
- php.ini Override에 추가
- 서버 재시작
적용 후 변화 (체감되는 부분)
설정이 정상적으로 적용되면 바로 변화가 느껴집니다.
- 불필요한 외부 요청 감소
- CPU 사용량 안정
- 관리자 페이지 반응 속도 개선
특히 반복적으로 들어오던 스캔 요청이 줄어드는 것이 눈에 보입니다.
마무리
OpenLiteSpeed에서 NinjaFirewall Full WAF가 안 되는 이유는 복잡하지 않습니다. 설정을 몰라서라기보다 연결 위치를 모르는 경우가 대부분입니다. 핵심은 하나입니다.
- 방화벽을 PHP보다 먼저 실행시키는 것
이 부분만 맞추면 보안과 서버 안정성이 동시에 개선됩니다.
▶ 워드프레스 빠른 테마 5가지 정리 (속도 비교 기준)