1 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 51 vote, average: 5٫00 out of 5 (1 votes, average: 5٫00 out of 5)
You need to be a registered member to rate this.

بستن IP کشورها در Nginx با GeoIP Module

 

در این آموزش نحوه راه اندازی ماژول GeoIP  در وب سرور nginx برای مسدود کردن IP کشورهای بازدید کننده رو توضیح میدیم که IP کشورهای بازدید کننده از سوی دیتابیس GeoIP تشخیص داده میشه و nginx به ماژول HttpGeoipModule باید کامپایل بشه تا فعال بشه.

 

ابتدا EPEL و Nginx-Mainline رو نصب و فعال میکنیم ، سپس nginx-module-geoip رو نصب میکنیم

sudo yum install epel-release
yum install nginx-module-geoip

 

بعد کد زیر رو در این مسیر ” /etc/nginx/nginx.conf ” اضافه میکنیم

load_module "modules/ngx_http_geoip_module.so";

 

برای چک کردن اینکه خطای syntax در فایل nginx.confن نباشه کد زیر رو در ترمینال میزنیم

nginx -t

 

اگه خطایی نبود Nginx رو reload میکنیم

nginx -s reload

مسدود کردن IP کشورها در Nginx با GeoIP Module

و دستور زیر رو برای تایید ماژول اجرا میکنیم

nginx -V
خروجی به شکل زیر خواهد بود :
nginx version: nginx/1.13.5
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --user=nginx --group=nginx --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-pcre --with-file-aio --with-http_realip_module --without-http_scgi_module --without-http_uwsgi_module --without-http_fastcgi_module --with-http_geoip_module --add-module=/tmp/nginx-sticky-module-ng --add-module=/tmp/nginx_upstream_check_module

 

سایر آموزش ها  فعال کردن کش Nginx Open file cache

تنظیم کردن Geoip برای مسدود لیست کشورها

فایل زیر رو ویرایش میکنیم

/etc/nginx/nginx.conf

 

و کد زیر رو در بلاک http {} block قرار میدیم

[...]
    geoip_country /usr/share/GeoIP/GeoIP.dat;
    map $geoip_country_code $allowed_country {
        default yes;
        FK no;
        FM no;
        EH no;
    }
[...]

توجه کنین […] کپی نشه ، […] فقط برای نمایش بلاک بندی است.

در کد بالا تمای کشورها اجازه ی ورود به سایت رو دارن ، غیر از 3 تا کشور FK , FM , EH .

اسم لیست کشورها برای مسدود سازی رو میتونین از این سایت دریافت کنین

 

[...]
    geoip_country /usr/share/GeoIP/GeoIP.dat;
    map $geoip_country_code $allowed_country {
        default no;
        FK yes;
        FM yes;
        EH yes;
    }
[...]

همچنین در کد بالا تمامی کشورها اجازه ی ورود به سایت رو ندارن به غیر از 3 کشور  FK , FM , EH که اجازه ورود دارن.