독학 nginx (4): 특정한 나라 에서 의 방문 금지
3519 단어 nginx
nginx 가 설치 되 었 을 때, geoip 모듈 은 dynamic 입 니 다.nginx - V 로 볼 수 있 습 니 다.그래서 so 파일 을 따로 다운로드 해 야 합 니 다.
sudo yum install nginx-mod-http-geoip
실행 완료 후 / usr / lib 64 / nginx / modules / ngxhttp_geoip_module. so 에 이 파일 이 있 습 니 다.그리고 / usr / share / nginx / modules / mod - http - geoip. conf 라 는 파일 도 많아 졌 습 니 다.그래서 geoip 모듈 은 ngix. conf 에 자동 으로 불 러 옵 니 다.
geoip 파일 다운로드
GeoIP. dat 와 GeoLite City. dat 파일 을 다운로드 할 수 있 습 니 다.https://dev.maxmind.com/geoip/legacy/geolite/ 이 두 파일 을 / usr / share / GeoIP / 아래 에 놓 을 수 있 습 니 다.
geoip. conf 파일 작성
/ etc / nginx / conf. d / 에서 geoip. conf 파일 을 작성 하면 다음 과 같 습 니 다.
geoip_country /usr/share/GeoIP/GeoIP.dat;
geoip_city /usr/share/GeoIP/GeoLiteCity.dat;
nginx. conf 파일 작성
$geoipcountry_code, $geoip_city access 에 가입로그 중.이 단 계 는 선택 할 수 있 습 니 다.니 가 원 하 는 거 봐.
반대로 프 록 시 를 사용 하면 헤더 에 변 수 를 설정 할 수 있 습 니 다.이 단 계 는 선택 할 수 있 습 니 다.니 가 원 하 는 거 봐.
proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code;
proxy_set_header GEOIP_COUNTRY_CODE3 $geoip_country_code3;
proxy_set_header GEOIP_COUNTRY_NAME $geoip_country_name;
proxy_set_header GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
proxy_set_header GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3;
proxy_set_header GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name;
proxy_set_header GEOIP_REGION $geoip_region;
proxy_set_header GEOIP_CITY $geoip_city;
proxy_set_header GEOIP_POSTAL_CODE $geoip_postal_code;
proxy_set_header GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
proxy_set_header GEOIP_LATITUDE $geoip_latitude;
proxy_set_header GEOIP_LONGITUDE $geoip_longitude;
맵 정의 규칙 쓰기
map $geoip_country_code $allowed_country {
default yes; # default
US no; #
}
server 에 map 규칙 적용
server {
... ...
if ($allowed_country = no) {
# 444 response
return 444;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.