geoip, referer, user agent로 nginx 접근 제어 하기

nginx는 몇가지 방법으로 접근 제어를 할 수 있는데 여기서는 geoip, referer, user agent로 제어하는 방법을 알아본다.

geoip

nginx에서 geoip를 이용하기 위해서는 nginx 컴파일 시에 –with-http_geoip_module 옵션을 줘야한다. nginx -V로 컴파일 옵션을 알 수 있다.

먼저 geoip.dat 파일의 위치를 nginx에 알려줘야 한다.

geoip_country /var/lib/GeoIP/GeoIP.dat;

예로 중국 아이피를 차단해 본다.

if ($geoip_country_code = CN) { return [...]

mock을 이용해 chroot 환경에서 rpm 빌드하기

rpm 빌드를 할 때 의존성 때문에 사용하지 않는 패키지를 설치해야 했거나 의존성 문제로 다른 시스템에 제대로 설치가 안되는 문제를 겪어본 경험이 있다면 mock을 이용해 보기를 권한다.

mock은 chroot 환경에 빌드에 필요한 최소한의 패키지를 설치하고 빌드할 수 있게 도와주는 프로그램이다. 여기에서는 CentOS 5 64비트 시스템을 기준으로 설명한다.

mock을 설치한다.

yum install mock

/etc/mock/centos-5-x86_64.cfg 이 설정 [...]