[아파치 무한 리다이렉트 오류 해결] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error.
최근에 httpd.conf 파일에 리다이렉트 작업을 몇 가지 했는데, 아파치 에러로그를 모니터링하다가 발견된 에러입니다.
[Thu Mar 12 05:41:49.631134 2026] [core:error] [pid 294614:tid 294719] [client 205.210.31.159:57000] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ‘LimitInternalRecursion’ to increase the limit if necessary. Use ‘LogLevel debug’ to get a backtrace.
원인을 찾기위해 bitnami.conf, bitnami-ssl.conf 파일 2개와 , httpd.conf 파일 1개 총 3개 파일에서 설정 정보 주석처리해가며 확인결과 원인은 httpd.conf에 설정해던 아래 내용이문제였습니다.
[AWS LAMP] 호스트 헤더 인젝션(Host Header Injection) 공격 방어 설정방법
<IfModule mod_rewrite.c>
RewriteEngine On
# Host 헤더가 도메인주소.co.kr이 아니고
RewriteCond %{HTTP_HOST} !^도메인주소\.co\.kr$ [NC]
# Host 헤더가 www.도메인주소.co.kr도 아니라면
RewriteCond %{HTTP_HOST} !^www\.도메인주소\.co\.kr$ [NC]
# 403 Forbidden 에러를 반환하고 즉시 접속 차단
RewriteRule ^ - [F,L]
</IfModule>
1. 왜 이 코드가 문제인가요? (논리적 오류)
이 코드는 현재 이렇게 해석됩니다:
- 조건 1: 호스트가
everhealth.co.kr이 아니고, - 조건 2: 호스트가
www.everhealth.co.kr도 아니라면, - 결과: 모든 요청을 403 Forbidden으로 차단하라.
하지만 문제는 다음과 같습니다:
- IP 접속 시 차단: 만약 서버 내부에서 에러 페이지를 부를 때 IP 주소나
localhost를 참조한다면, 위 조건에 걸려 403 에러가 발생합니다. - 410 에러와의 충돌: 아파치가 410 에러를 내보내려고 할 때, 내부적으로
/410.php를 다시 호출하는데, 이 과정에서 위 규칙이 다시 검사됩니다. 이때 호스트 판정이 꼬이면 410 에러를 보여주려다 403이 나고, 403을 보여주려다 다시 규칙에 걸리는 무한 루프에 빠지게 됩니다.
2. 해결 방법: 코드 수정
이 코드는 **”허용된 도메인 외에는 모두 차단”**하려는 의도로 보입니다. 이를 안전하게 바꾸려면 OR 조건을 명시하거나, 예외 처리를 추가해야 합니다.
추천 수정안 (안전한 방식)
<IfModule mod_rewrite.c>
RewriteEngine On
# 1. 실제 존재하는 파일이나 에러 페이지는 검사에서 제외 (중요!)
RewriteCond %{REQUEST_URI} ^/(410|404|403)\.php$ [OR]
RewriteCond %{REQUEST_URI} ^/\.well-known [NC]
RewriteRule ^ - [L]
# 2. 허용된 도메인이 아닌 경우에만 차단
# [NC,OR]를 사용하여 '이것도 아니고 저것도 아니면' 논리를 완성합니다.
RewriteCond %{HTTP_HOST} !^내 도메인주소\.co\.kr$ [NC]
RewriteCond %{HTTP_HOST} !^www\.내 도메인주소\.co\.kr$ [NC]
RewriteCond %{HTTP_HOST} !^localhost [NC]
RewriteCond %{HTTP_HOST} !^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+
# 위 조건들에 모두 해당하면(즉, 알 수 없는 도메인이면) 차단
RewriteRule ^ - [F,L]
</IfModule>



