Nginx

Blok NGINX na základe geografického umiestnenia

Blok NGINX na základe geografického umiestnenia
Nginx je vysoko výkonný, ľahký webový server s otvoreným zdrojovým kódom, ktorý je bezplatne prístupný verejnosti. V porovnaní s inými ľahkými servermi má obrovské množstvo cenných funkcií. Jednou z takýchto funkcií je jej geoip_module, ktorý sa používa na identifikáciu geografického grafického miesta, odkiaľ návštevník prichádza. Predvolene používa na zistenie geografickej polohy návštevníka v kombinácii s údajmi poskytnutými spoločnosťou maxmind. Výhodou identifikácie geografického umiestnenia je presadenie rôznych politík pre rôzne geografické polohy, napríklad ak je podnik k dispozícii iba pre krajiny v severnej Amerike, s geoip_module môže blokovať všetkých ostatných návštevníkov prichádzajúcich z iných regiónov. To zaisťuje, že podnik nemusí dodržiavať pravidlá a nariadenia vynucované rôznymi regiónmi, napríklad GDPR (všeobecné nariadenie o ochrane údajov).

Implementácia

Aj keď existuje veľa spôsobov, ako implementovať riešenie v systéme, táto príručka ukazuje najjednoduchší spôsob, ako ho zaregistrovať s minimálnym úsilím.

  1. Je zrejmé, že Nginx musí byť v systéme nainštalovaný pred vykonaním krokov v tejto príručke. Inštalácia Nginx však nestačí, pretože si vyžaduje aj inštaláciu geo_ip_module. Maxmind zvykol vydávať svoju databázu vo formáte dat, ale od doby, kedy je vydávaná vo formáte mmdb. Vďaka tomu musí Nginx vyžadovať nový modul geo_ip_module s názvom ngx_http_geoip2_module. Nie je to však potrebné, pretože stará databáza údajov je stále dostatočná. Ak nginx nie je nainštalovaný, nastavte ho pomocou nasledujúcich dvoch príkazov.
aktualizácia apt-get
apt-get nainštalovať nginx
  1. Zadaním nasledujúceho príkazu sa ubezpečte, že je nainštalovaný modul http_geoip.
nginx -V

  1. Existuje niekoľko spôsobov, ako získať / vytvoriť databázu obsahujúcu adresy IP a názvy ich príslušných krajín a miest. Nainštalujte databázu geo_ip pomocou nasledujúcich príkazov. Použitie tejto metódy uľahčuje inštaláciu databázy geo_Ip do systému. Najideálnejším spôsobom je však stiahnutie novej kópie, ktorá je aktualizovaná najnovšími informáciami. Použite teda jednu z troch možností uvedených nižšie. Prvá možnosť stačí pre každého priemerného používateľa, druhánd možnosťou je získať najnovšiu databázu maxmind, treťou možnosťou sa prevádza databáza mmdb na jej príslušný formát dátového súboru.
    Je to čas a zdroje náročné, a preto sa to neodporúča pre slabé servery. Ak je však stále potrebná aktualizovaná databáza, použite možnosť 2. Šetrí to čas a peniaze pri prevode súboru, ale bezpečnosť nie je možné zaručiť, pretože ho prevádza niekto iný, nie žiadna oficiálna strana. Možnosť 3 vyžaduje 3 balíčky pip, setuptools, ipaddr, dcryptit. A na spracovanie skriptu používa python 2. Posledný riadok prevádza archív zip na .dátový súbor. Aj keď sa hovorí o prevode formátu súboru mmdb na .DAT, tu skutočne prevádza súbor CSV na .formát dátového súboru, a preto vyžaduje geoname2fips.súbor CSV, ktorý sa dodáva s balíkom súborov na prevod.

možnosť 1

apt-get nainštalovať geoip-databázu libgeoip1

Možnosť 2

cd / usr / share / GeoIP
wget -o maxmind.dat.gz https: // bit.ly / 2Gh3gTZ
gunzip maxmind.dat.gz

Možnosť 3

cd / domov /
mkdir geolite2legacy /
git klon https: // github.com / sherpya / geolite2legacy
apt-get nainštalovať python
apt-get nainštalovať python-pip
pip nainštalovať setuptools
pip nainštalovať ipaddr
pip nainštaluj dcryptit
cd / usr / share /
mkdir GeoIP /
cd / usr / share / GeoIP /
wget https: // geolit.maxmind.com / download / geoip / databáza / GeoLite2-Country-CSV.PSČ
pyton / home / geolite2legacy / geolite2legacy.py -i / usr / share / GeoIP / GeoLite2-Country-CSV.zips -f
/ home / geolite2legacy / geoname2fips.csv -o / usr / share / GeoIP / GeoLite2-Country.dat
  1. Konfigurujte konfiguračný súbor Nginx nasledovne. Zadajte príkaz do prvého riadku v termináli Linux ako obvykle a zvyšok riadkov skopírujte do nginx.conf súbor. Skontrolujte meno uvedené v / usr / share / GeoIP / GeoIP.dat sa zhoduje s dátovým súborom uloženým v priečinku usr / share / GeoIP. Aj keď v nasledujúcom príklade určuje iba jednu krajinu, je možné zadať viac kódov krajín ako daný príklad s jedným riadkom na kód krajiny. Dostupný zoznam kódov krajín pre jednotlivé krajiny sa nachádza na tomto mieste. http: // www.maxmind.com / app / iso3166.
nano / etc / nginx / nginx.konf
geoip_country / usr / share / GeoIP / GeoIP.dat;
mapa $ geoip_country_code $ allow_country
predvolené áno;
LK č;
  1. Otvorte predvolený súbor pomocou ľubovoľného textového editora (uprednostňuje sa nano, pretože je možné s ním ľahko upravovať), potom pridajte obsah od 2nd riadok medzi nimi kdekoľvek v bloku umiestnenia v predvolenom súbore. Tento kód funguje tak, že keď návštevník zadá požiadavku na webový server, nginx načíta ich IP adresy a porovná ich záznamy s nájdením kódu príslušnej krajiny, ak sa krajina uvedená v bloku mapy zhoduje, k Premenná $ allow_country, a tým kontrola $ allow_country umožňuje manipulovať s odpoveďou. V tejto príručke nepoužíva nijaké slovo, a preto je návštevníkovi zamedzené vidieť obsah. Ak existuje viac domén ako .com, .lk, alebo nucuta.com, alebo nucuta.net pridať kód od riadku 3 do každej „domény“.conf súbor tiež. Ak je nginx nakonfigurovaný správne, súbor do príslušnej domény sa nachádza v priečinku sites-available.
nano / etc / nginx / sites-available / default
if ($ allow_country = no)
návrat 444;
  1. Reštartujte server nginx pomocou nasledujúceho príkazu. Ďalej prístup na webový server z ľubovoľnej domény Srí Lanky (LK) spôsobí, že webový server nevráti nič, ako je vidieť na nasledujúcich snímkach obrazovky. 444 v nginx nepredstavuje nič. Namiesto toho tu môžete použiť akýkoľvek iný kód, napríklad 302, 301, 404. Ak je zadaných 302 301, mala by sa uviesť aj adresa URL na presmerovanie návštevníka.
systemctl restart nginx

Záver

Blokovanie návštevníkov na základe ich zemepisnej polohy je pre fungovanie niektorých firiem kritické z dôvodu rôznych regionálnych pravidiel a predpisov. Nginx uspokojuje tieto potreby svojim modulom geo_ip. Používa databázy maxmind na nájdenie krajiny podľa ip adresy návštevníka. Databáza pracuje s protokolom Ipv4 aj s ipv6. Pretože spoločnosť maxmind ukončila svoj starší formát databázy údajov, jediný spôsob, ako využiť ich údaje, je buď prevod nového formátu súboru na súbor údajov, alebo použitie už prevedeného súboru alebo použitie modulu tretej strany pre Nginx na podporu formátu súboru mmdb. Pythonový skript, ktorý je tu uvedený, je ideálny na konverziu, aj keď videnie výsledku chvíľu trvá. Maxmind zaručuje viac ako 99% presnosť pri vyhľadávaní krajiny na základe IP; preto je nevyhnutnosťou nástroj pre akékoľvek podnikanie.

Recenzia bezdrôtovej myši Microsoft Sculpt Touch
Nedávno som čítal o Microsoft Sculpt Touch bezdrôtová myš a rozhodol sa ju kúpiť. Po chvíli používania som sa rozhodol s ním podeliť o svoje skúsenost...
Trackpad a ukazovateľ myši AppyMouse na obrazovke pre tablety so systémom Windows
Používateľom tabletov často chýba ukazovateľ myši, najmä keď notebooky bežne používajú. Dotykové smartphony a tablety majú veľa výhod a jediným obmedz...
Stredné tlačidlo myši nefunguje v systéme Windows 10
The stredné tlačidlo myši pomáha vám prechádzať dlhé webové stránky a obrazovky s množstvom údajov. Ak sa to zastaví, budete nakoniec používať klávesn...