티스토리 뷰
GEOIP API C 받기
http://geolite.maxmind.com/download/geoip/api/c/ 방문해서 최신껄로 받자
./configure --prefix=/usr/local/GeoIP (prefix 를 잡아주니 mod_geoip 할때 에러가 뜨는거 같긴 한데 테스트중)
make
make install
/usr/local/GeoIP/share/GeoIP/GeoIP.dat GEOIP : 국가 정보를 담고 있는 데이터 (디폴트로 저곳에 있다)
- wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz (다운)
- gzip -d GeoIP.dat.gz 받아서 압출풀면 끝임
Mod_geoip 다운
http://www.maxmind.com/download/geoip/api/mod_geoip2/ 방문해서 최신걸로 받자
아래것이 머하는건지는 모르겠는데 아무튼 해주면 됨 둘중 하나만 해주면 될듯 한데 테스트 해봐야겠음
/usr/local/apache/bin/apxs -a -i -L/usr/local/GeoIP/lib -I/usr/local/GeoIP/include -lGeoIP -c mod_geoip.c
/usr/local/apache/bin/apxs -i -a -L/usr/local/lib -I/usr/local/include -lGeoIP -c mod_geoip.c
하고 나면 httpd.conf에 아래라인이 하나 추가되면 성공임
LoadModule geoip_module modules/mod_geoip.so
로그포맷 (하니깐 끝에 KR , CN 이런식으로 아파치 ACCESS LOG에 국가코드가 찍힘)
- LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i %{GEOIP_COUNTRY_CODE}e"
httpd.conf
LogFormat "%v %{X-Forwarded-For}i %l %u %t \"%r\" %>s %b %{GEOIP_COUNTRY_CODE}e" KENSEI
- 프록시를 거쳐도 실제 아이피가 찍히고 끝에 국가코드가 찍히게 함
실제로 적용하려면 아래와 같은 규칙이 필요함 어떻게 적용하느냐에 따라 유연하거나 견고하게 가능할듯함
ex) 아래는 virtualhost로 구성된 서버에 대해 적용해보았다
<IfModule mod_geoip.c>
GeoIPEnable on
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>
<Directory /home/tc>
AllowOverride All
Options +ExecCGI
<Limit GET POST>
SetEnvIf GEOIP_COUNTRY_CODE KR BlockCountry
Order deny,allow
Deny from env=BlockCountry
</Limit>
Allow from XXX.XXX.250.101
</Directory>
ex2) 그냥 웹서버 하나인 경우는 속편하게 아래와 같이 적용시키니 적용이 되었다
저기 아래에 있는 Location 부분이 URL 경로를 의미하는지는 더 테스트 해봐야겠음
<IfModule mod_geoip.c>
GeoIPEnable on
GeoIPDBFile /usr/local/Geoip/share/GeoIP/GeoIP.dat
#<Location />
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
<Limit GET POST>
Order Deny,Allow
Deny from env=BlockCountry
#Allow from XXX.XXX.115.201
</Limit>
#</Location>
참고블로그 : http://www.cyworld.com/ruo91/2842916
'Linux' 카테고리의 다른 글
Apache 2.2.9 재컴파일 하지 않고 mod_rewrite 모듈 올리기 (0) | 2015.06.12 |
---|---|
nping 명령어 (0) | 2015.06.11 |
Apache Access Log (0) | 2015.06.11 |
Apache SSL 설치 (0) | 2015.06.11 |
아파치 리다이렉트 관련 (apache Redirect) (0) | 2015.06.11 |
- Total
- Today
- Yesterday
- mariadb
- gitlab
- cURL
- SSL
- mod_security
- L2TP
- 인증서
- GeoIP
- centOS7
- pptp
- MySQL
- virtualbox
- WAF
- OpenVPN
- iptables
- ntp
- 베이어다이나믹
- kvm
- NGINX
- IPSEC
- centos8
- softether
- ssh
- Apache
- HAProxy
- glusterfs
- 리눅스
- php
- yum
- galera
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |