GeoIp 차단룰을 htaccess 에 설정하는 방법 문의드립니다.
작성자 정보
- 까만소 작성
- 작성일
컨텐츠 정보
- 2,813 조회
- 2 댓글
- 0 추천
- 목록
본문
항상 많은 정보 얻어갑니다. 감사합니다. ^^
geoip 를 이용하여 한국외에는 해외접속을 차단하려고 합니다.
서버환경은 아래와 같습니다.
CentOs 5.9 (64bit), Apache 2.x, php 5.x
GeoIP-1.4.6
mod_geoip2_1.2.5
GeoIp 설치하고 httpd.conf 에는 설정하지않고...virtual host 에도 설정없이,
계정별로 각각 계정에 .htaccess 파일을 통해서 해외접속을 차단하려고 하는데요.
phpinfo() 로 설치상태 확인해보니 Apache Environment 에 GEOIP_COUNTRY_CODE 는 KR 로 잘 표시가 되어... 설치는 제대로 된 듯 합니다.
geoiplookup 의 실행경로는 .bash_profile 에 등록해두었습니다.
testuser 계정의 public_html 폴더내에 .htaccess 파일을 만들어서 아래와 같이 코드를 넣었습니다.
[.htaccess 파일내용. 퍼미션 644]
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
<Location /public_html>
SetEnvIf GEOIP_COUNTRY_CODE KR go_in
<Limit GET POST>
Order Deny,Allow
Deny from all
Allow from env=go_in
</Limit>
</Location>
</IfModule>
아파치서버 재가동하고보니... 해당 계정의 접속상태가 INTERNAL SERVER ERROR 가 발생합니다.
에러코드 살펴보니... 아래와 같이 표시가 됩니다.
[alert] [client 111.171.31.204] /home/testuser/public_html/.htaccess: GeoIPDBFile not allowed here
[alert] [client 111.171.31.204] /home/testuser/public_html/.htaccess: GeoIPDBFile not allowed here
[alert] [client 111.171.31.204] /home/testuser/public_html/.htaccess: GeoIPDBFile not allowed here
[alert] [client 111.171.31.204] /home/testuser/public_html/.htaccess: <Location not allowed here
[alert] [client 111.171.31.204] /home/testuser/public_html/.htaccess: <Location not allowed here
[alert] [client 111.171.31.204] /home/testuser/public_html/.htaccess: <Location not allowed here
<IfModule mod_geoip.c>
GeoIPEnable On
</IfModule>
.htaccess에 요렇게만 입력하면 정상적으로 화면이 보입니다. 그런데...
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>
이렇게 한줄이 더 들어가면 여지없이 INTERNAL SERVER ERROR 가 발생합니다.
<IfModule mod_geoip.c>
GeoIPEnable On
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoLiteCity.dat
</IfModule>
이렇게 넣어도 INTERNAL SERVER ERROR 에러 발생하구요.
무슨 원인으로 이렇게 INTERNAL SERVER ERROR 가 발생하는지 도움 부탁드립니다.
항상 감사합니다. ^^
관련자료
-
이전
-
다음
냠냠이님의 댓글
- 냠냠이
- 작성일
해당 파일은 국가코드 정보가 들어있는 파일로 알고 있으며, 주기적으로 업데이트를 진행 해야 합니다.
또한 해당 모듈 다시 한번 확인해보시구요 아파치 재 시작 전에 구문 테스트도 한번 해보셔요
ex) /usr/local/apache/bin/apachectl -t (구문 테스트)
ex) /usr/local/apache/bin/apachectl -M (모듈 확인
/usr/local/apache/bin/apachectl -l
쭈운님의 댓글
- 쭈운
- 작성일