Nginx

Blok NGINX na podlagi geografske lege

Blok NGINX na podlagi geografske lege
Nginx je visoko zmogljiv, lahek, odprtokodni spletni strežnik, ki je brezplačno na voljo javnosti. V primerjavi z drugimi lahkimi strežniki ima ogromno dragocenih funkcij. Ena od takih lastnosti je njegov geoip_module, ki se uporablja za identifikacijo geografske lokacije od kod prihaja obiskovalec. Privzeto uporablja v kombinaciji s podatki, ki jih posreduje maxmind, da ugotovi geografsko lokacijo obiskovalca. Prednost identifikacije geografske lokacije je uveljaviti različne politike na različnih geografskih lokacijah, na primer, če je podjetje na voljo samo državam v Severni Ameriki, lahko z geoip_module blokira vse druge obiskovalce, ki prihajajo iz drugih regij. To zagotavlja, da podjetju ni treba upoštevati pravil in predpisov, ki jih izvajajo različne regije, na primer GDPR (Splošna uredba o varstvu podatkov).

Izvajanje

Čeprav obstaja veliko načinov za izvedbo rešitve v sistemu, je v tem priročniku predstavljen najlažji način vpisa z minimalnim naporom.

  1. Očitno je, da je treba Nginx namestiti v sistem, preden začnete korake v tem priročniku. Namestitev Nginxa pa ni dovolj, saj zahteva tudi namestitev geo_ip_module. Maxmind je nekoč objavljal svojo bazo podatkov v formatu dat, vendar je bila pred časom izdana v formatu mmdb. Zaradi tega Nginx zahteva nov geo_ip_module, imenovan ngx_http_geoip2_module. Vendar to ni potrebno, saj stara baza podatkov dat še vedno zadostuje. Kakor koli, če nginx ni nameščen, ga nastavite z naslednjima dvema ukazoma.
apt-get posodobitev
apt-get namestite nginx
  1. Vnesite naslednji ukaz, da se prepričate, ali je nameščen modul http_geoip.
nginx -V

  1. Obstaja več načinov za pridobitev / izdelavo baze podatkov, ki vsebuje naslove IP in imena njihovih držav. Z naslednjimi ukazi namestite zbirko podatkov geo_ip. Uporaba te metode omogoča enostavno namestitev zbirke podatkov geo_Ip v sistem. Najbolj idealen način pa je prenos nove kopije, saj so posodobljene z najnovejšimi informacijami. Torej, uporabite eno od treh spodnjih možnosti. Prva možnost je dovolj za vsakega povprečnega uporabnika, 2nd možnost je pridobiti najnovejšo bazo podatkov maxmind, tretja možnost pretvori bazo podatkov mmdb v ustrezen format datoteke dat.
    Potrebuje čas in vire, zato ni priporočljiv za šibke strežnike. Če pa je posodobljena baza podatkov še vedno potrebna, uporabite možnost 2. Prihrani čas in denar pri pretvorbi datoteke, vendar varnosti ni mogoče zagotoviti, ker jo pretvori nekdo drug, ne katera koli uradna stranka. Možnost 3 zahteva 3 pakete pip, setuptools, ipaddr, dcryptit. In za obdelavo skripta uporablja python 2. Zadnja vrstica pretvori zip arhiv v .dat. Čeprav se omenja pretvorba oblike datoteke mmdb v .dat, tukaj dejansko pretvori datoteko CSV v datoteko .dat in zato zahteva geoname2fips.csv, ki je priložen paketu pretvorbenih datotek.

1. možnost

apt-get namestite geoip-bazo podatkov libgeoip1

2. možnost

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

3. možnost

cd / doma /
mkdir geolite2legacy /
klon git https: // github.com / sherpya / geolite2legacy
apt-get namestite python
apt-get namestite python-pip
pip namestite setuptools
pip namestite ipaddr
pip namestite dcryptit
cd / usr / share /
mkdir GeoIP /
cd / usr / share / GeoIP /
wget https: // geolite.maxmind.com / download / geoip / database / GeoLite2-Country-CSV.zadrgo
pyton / home / geolite2legacy / geolite2legacy.py -i / usr / share / GeoIP / GeoLite2-Country-CSV.zip -f
/ home / geolite2legacy / geoname2fips.csv -o / usr / share / GeoIP / GeoLite2-Country.dat
  1. Konfiguracijsko datoteko Nginx konfigurirajte na naslednji način. Vnesite ukaz v prvo vrstico v terminalu Linux kot običajno, ostale vrstice pa kopirajte v nginx.conf. Prepričajte se, da je ime omenjeno v / usr / share / GeoIP / GeoIP.dat se ujema z datoteko dat, shranjeno v mapi usr / share / GeoIP. Čeprav v naslednjem primeru določa samo eno državo, lahko kot dani primer določite več kod držav z eno vrstico na kodo države. Na tej lokaciji je na voljo seznam držav, ki je na voljo za države. http: // www.maxmind.com / app / iso3166.
nano / etc / nginx / nginx.conf
geoip_country / usr / share / GeoIP / GeoIP.dat;
zemljevid $ geoip_country_code $ allowed_country
privzeto da;
LK št;
  1. Odprite privzeto datoteko v katerem koli urejevalniku besedil (nano je zaželen, saj je z njim zelo enostavno urejati), nato dodajte vsebino odnd vrstica do vmesnika kjer koli v bloku lokacije v privzeti datoteki. Koda deluje tako: ko obiskovalec pošlje zahtevo spletnemu strežniku, nginx poišče njihove naslove IP in se ujema s svojimi zapisi, da najde ustrezno kodo države, če se država, navedena v bloku zemljevida, ujema z ne, Spremenljivka $ allowed_country in s tem preverjanje možnosti $ allowed_country omogoča manipuliranje z odzivom. V tem priročniku uporablja ne, zato obiskovalec ne vidi vsebine. Če obstaja več domen, kot je .com, .lk ali nucuta.com ali nucuta.net dodajte kodo od vrstice 3 v vsako "domeno".tudi datoteko conf. Če je nginx dobro konfiguriran, se datoteka ustrezne domene nahaja v mapi, ki je na voljo.
nano / etc / nginx / sites-available / default
če ($ dovoljena_država = ne)
vrnitev 444;
  1. Znova zaženite strežnik nginx z naslednjim ukazom. V nadaljevanju dostop do spletnega strežnika iz katere koli domene šrilankan (LK) povzroči, da spletni strežnik ne vrne ničesar, kot je razvidno iz naslednjih posnetkov zaslona. 444 v nginxu ne predstavlja ničesar. Namesto tega lahko tukaj uporabite tudi katero koli drugo kodo, na primer 302, 301, 404. Če je določeno 302.301, je treba navesti tudi URL za preusmeritev obiskovalca.
systemctl znova zaženite nginx

Zaključek

Blokiranje obiskovalcev glede na njihovo geografsko območje je ključno za delovanje nekaterih podjetij zaradi različnih regionalnih pravil in predpisov. Nginx ustreza svojim potrebam s svojim modulom geo_ip. Z bazami podatkov maxmind poišče državo po ip naslovu obiskovalca. Baza podatkov deluje tako z Ipv4 kot z ipv6. Ker je maxmind prenehal uporabljati svojo zapuščeno obliko zbirke podatkov dat, je edini način, kako uporabiti njihove podatke, pretvorba nove datoteke v datoteko dat ali uporaba že pretvorjene datoteke ali uporaba modula tretje osebe za Nginx za podporo formatu datoteke mmdb. Tu je na voljo skript python, ki je idealen za pretvorbo, čeprav traja nekaj časa, da se vidi rezultat. Maxmind zagotavlja več kot 99-odstotno natančnost pri iskanju države na podlagi IP; zato mora biti orodje za vsako podjetje.

Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...
Vadnica Shadow of the Tomb Raider za Linux
Shadow of the Tomb Raider je dvanajsti dodatek k seriji Tomb Raider - franšiza akcijsko-pustolovskih iger, ki jo je ustvaril Eidos Montreal. Kritiki i...
Kako povečati FPS v Linuxu?
FPS pomeni Število sličic na sekundo. Naloga FPS je merjenje hitrosti sličic pri predvajanju video posnetkov ali igranih predstavah. Z enostavnimi bes...