Nginx 와 GeoIP 모듈 을 사용 하여 서로 다른 국가의 방문 을 처리 합 니 다.

특정 지역 의 IP 접근 을 차단 하려 면 iptables 로 특정 국가 에서 온 IP 를 예 정 된 페이지 로 재 설정 하 는 것 은 그다지 유연 한 방법 이 아 닙 니 다. 한 IP 만 사용 할 수 있 고 여러 사이트 가 같은 VPS 에 있 으 면 어떻게 합 니까?iptable 로 어떤 사 이 트 를 차단 하면 같은 VPS 에 있 는 다른 사이트 의 방문 도 차단 합 니 다.그래서 정통 적 인 방법 은 GeoIP 로 대응 하 는 웹 서버 모듈 을 결합 하 는 것 이다. 예 를 들 어 apache + modgeoip 또는 nginx + httpgeoip_module 등.
Nginx 설치
httpgeoip_module 모듈, 시스템 자체 가 가지 고 있 는 nginx 는 일반적으로 이 모듈 을 가지 고 있 지 않 기 때문에 nginx 소스 코드 를 다운로드 한 후에 스스로 컴 파일 해 야 합 니 다.

# wget http://nginx.org/download/nginx-0.9.6.tar.gz
# tar zxvf nginx-0.9.6.tar.gz
# cd nginx-0.9.6
# ./configure --without-http_empty_gif_module --with-poll_module \
--with-http_stub_status_module --with-http_ssl_module \
--with-http_geoip_module
# make; make install

MaxMind 의 GeoIP 라 이브 러 리 설치
MaxMind 는 무료 IP 지역 데이터베이스 (GeoIP. dat) 를 제공 합 니 다. 그러나 이 데이터베이스 파일 은 바 이 너 리 로 GeoIP 라 이브 러 리 로 읽 어야 하기 때문에 GeoIP. dat 파일 을 다운로드 하 는 것 외 에 (다음 단계 참조) 이 파일 을 읽 을 수 있 는 라 이브 러 리 를 설치 해 야 합 니 다.

# wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
# tar -zxvf GeoIP.tar.gz
# cd GeoIP-1.4.6
# ./configure
# make; make install

방금 설 치 된 라 이브 러 리 는 / usr / local / lib 에 자동 으로 설치 되 어 있 기 때문에 이 디 렉 터 리 는 관련 프로그램 을 실행 할 때 이 GeoIP 라 이브 러 리 에 자동 으로 연결 할 수 있 도록 동적 링크 설정 에 추가 해 야 합 니 다.

# echo '/usr/local/lib' > /etc/ld.so.conf.d/geoip.conf
# ldconfig

IP 데이터베이스 다운로드
MaxMind 는 무료 IP 지역 데이터 베 이 스 를 제공 합 니 다. 이 데이터 베 이 스 는 바 이 너 리 입 니 다. 텍스트 편집기 로 열 수 없습니다. 위의 GeoIP 라 이브 러 리 에서 읽 어야 합 니 다.

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip GeoIP.dat.gz

Nginx 설정
마지막 으로 nginx 를 설정 합 니 다. 관련 부분 에 다음 과 같은 설정 을 추가 하면 됩 니 다.

# vi /etc/nginx/nginx.conf

http {
...
geoip_country /home/vpsee/GeoIP.dat;
fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_CODE3 $geoip_country_code3;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
...
}

server {
...
        location / {
            root   /home/vpsee/www;
            if ($geoip_country_code = CN) {
                root /home/vpsee/cn;
            }
            ...
        }
...
}

이렇게 하면 중국 에서 온 IP 가 사 이 트 를 방문 하면 예 정 된 / home / vpse / cn 페이지 를 자동 으로 방문 합 니 다.Nginx + GeoIP 에 대해 서 는 간단 한 CDN 을 만 들 고 중국 에서 온 방문 이 국내 서버 로 자동 으로 해석 되 며 미국 에서 온 방문 이 자동 으로 미국 서버 로 전환 되 는 등 유용 한 용법 도 많다.MaxMind 는 전 세계 각 도시 의 IP 정 보 를 제공 하고 도시 IP 데이터 베 이 스 를 다운로드 하여 서로 다른 도 시 를 대상 으로 처리 할 수 있다.

좋은 웹페이지 즐겨찾기