Nginx 및 GeoIP 모듈이 IP의 지리 정보를 읽는 방법

WBOY
풀어 주다: 2023-05-14 15:10:06
앞으로
1781명이 탐색했습니다.

linux install geoip

yum install nginx-module-geoip
로그인 후 복사

http_geoip_module 사용 시나리오

1. 국내외 http 접속 규칙 차별화

2. 국내 도시 및 지역별 http 접속 규칙 차별화

yum 설치 후 설치된 모듈 파일을 찾아보세요.

yun을 사용하여 nginx를 설치하는 경우 일반적으로 /etc/nginx/modules/ 디렉터리에 설치됩니다

참고: nginx가 yum으로 설치되지 않고 소스 코드에서 컴파일 및 설치되는 경우 nginx를 다시 설치하고 컴파일해야 하며 이 모듈을 추가하면 이 모듈을 수동으로 추가할 필요가 없습니다.

수동으로 모듈을 추가하세요

nginx.conf 구성 파일의 헤더에 로드된 모듈은 http

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";
로그인 후 복사

와 동일한 수준입니다. geoip은 maxmind를 기반으로 하며 지역 정보를 읽을 수 있는 데이터베이스 파일을 제공하기 때문에 ip 영역 파일을 다운로드해야 합니다.

이 데이터베이스는 바이너리이므로 텍스트 편집기로 열 수 없습니다. 읽으려면 위의 geoip 라이브러리가 필요합니다.

wget http://geolite.maxmind.com/download/geoip/database/geolitecountry/geoip.dat.gz #国家的地域ip
wget http://geolite.maxmind.com/download/geoip/database/geolitecity.dat.gz  #城市的地域ip
로그인 후 복사

그런 다음

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";

.......


http{
geoip_country /etc/nginx/geoip/geoip.dat; #加载国家ip
geoip_city /etc/nginx/geoip/geolitecity.dat; #加载城市ip

.........

 server
 {
 ......



 location / {
 #判断如果不是中国的就返回403;
 if ($geoip_country_code != cn) {
  return 403;
 }
 }
 #返回国家城市信息
 location /myip {
 default_type text/plain;
 return 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city";
 }



....
 }
}
로그인 후 복사

의 압축을 풀고 IP 주소/myip를 방문하여 해당 IP가 위치한 국가 및 도시 정보를 반환하세요.

위 내용은 Nginx 및 GeoIP 모듈이 IP의 지리 정보를 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿