Nginx

NGINXi plokk põhineb geograafilisel asukohal

NGINXi plokk põhineb geograafilisel asukohal
Nginx on suure jõudlusega, kerge, avatud lähtekoodiga veebiserver, mis on avalikkusele tasuta saadaval. Sellel on võrreldes teiste kergete serveritega tohutult palju väärtuslikke funktsioone. Üks sellistest omadustest on selle geoip_module, mida kasutatakse külastaja päritolu geograafilise asukoha tuvastamiseks. Vaikimisi kasutab see külastaja geograafilise asukoha väljaselgitamiseks koos maxmindi esitatud andmetega. Geograafilise asukoha kindlakstegemise eeliseks on erinevate poliitikate rakendamine erinevates geograafilistes asukohtades, näiteks kui ettevõte on saadaval ainult Põhja-Ameerika riikidele. Geoip_module abil saab see blokeerida kõik muud külastajad, kes tulevad teistest piirkondadest. See tagab, et ettevõte ei pea järgima reegleid ja määrusi, mida rakendavad erinevad piirkonnad, näiteks GDPR (isikuandmete kaitse üldmäärus).

Rakendamine

Ehkki lahenduse juurutamiseks süsteemis on palju võimalusi, näitab see juhend lihtsamat viisi selle registreerimiseks minimaalse vaevaga.

  1. Ilmselt tuleb Nginx enne selle juhendi sammude alustamist süsteemi installida. Nginxi installimisest ei piisa, kuna see nõuab ka geo_ip_module installimist. Maxmind avaldas varem oma andmebaasi dat-vormingus, kuid juba mõnda aega tagasi avaldati see mmdb-vormingus. See paneb Nginxi nõudma uut geo_ip_moodulit nimega ngx_http_geoip2_module. Kuid see pole nõutav, kuna vana andmebaasi andmebaas on endiselt piisav. Igatahes, kui nginxit pole installitud, seadistage see järgmise kahe käsuga.
apt-get värskendus
apt-get install nginx
  1. Tippige järgmine käsk, et veenduda, et http_geoip moodul on installitud.
nginx -V

  1. IP-aadresse ja nende vastavaid riike, linnanimesid sisaldava andmebaasi hankimiseks / ehitamiseks on mitu võimalust. Paigaldage geo_ip andmebaas järgmiste käskudega. Selle meetodi kasutamine hõlbustab geo_Ip andmebaasi süsteemi installimist. Kõige ideaalsem viis on siiski värske koopia allalaadimine, kuna neid värskendatakse uusima teabega. Niisiis, kasutage ühte kolmest allpool toodud võimalusest. Esimesest võimalusest piisab igale tavakasutajale, 2nd võimalus on hankida uusim maxmindi andmebaas, kolmas võimalus teisendab mmdb andmebaasi vastavaks dat failivorminguks.
    See on aeganõudev ja ressursimahukas ning seetõttu pole seda soovitatav nõrkade serverite jaoks. Kui siiski on vaja ajakohastatud andmebaasi, siis kasutage 2. võimalust. See säästab faili teisendamisel aega ja raha, kuid turvalisust ei saa garanteerida, kuna selle teisendab keegi teine, mitte ükski ametlik osapool. Valik 3 nõuab 3 pip-paketti, setuptools, ipaddr, dcryptit. Ja skripti töötlemiseks kasutab see python 2-d. Viimane rida teisendab ZIP-arhiivi .dat-fail. Isegi kui seda mainitakse mmdb-failivormingu teisendamise kohta .dat, siin see tegelikult muudab CSV-faili a-ks .dat-failivorming ja seega nõuab see geoname2fips.csv-fail, mis tuleb koos teisendusfailikomplektiga.

valik 1

apt-get install geoip-andmebaas libgeoip1

2. võimalus

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

3. võimalus

cd / kodu /
mkdir geolite2legacy /
gitkloon https: // github.com / sherpya / geolite2legacy
apt-get install python
apt-get install python-pip
pip installige seadistustööriistad
pip install ipaddr
pip installida dcryptit
cd / usr / share /
mkdir GeoIP /
cd / usr / share / GeoIP /
wget https: // geoliit.maxmind.com / download / geoip / database / GeoLite2-Country-CSV.tõmblukk
pyton / home / geolite2legacy / geolite2legacy.py -i / usr / share / GeoIP / GeoLite2-Country-CSV.tõmblukk -f
/ home / geolite2legacy / geoname2fips.csv -o / usr / share / GeoIP / GeoLite2-Country.dat
  1. Konfigureerige Nginxi konfiguratsioonifail järgmiselt. Sisestage käsk Linuxi terminali esimesse ritta nagu tavaliselt ja kopeerige ülejäänud read nginxisse.konf fail. Veenduge, et nimi oleks mainitud / usr / share / GeoIP / GeoIP.dat sobib datr-failiga, mis on salvestatud kausta usr / share / GeoIP. Ehkki järgmises näites määratleb see ainult ühe riigi, saab antud näitena määrata mitu riigikoodi ühe reaga riigikoodi kohta. Riikide jaoks saadaval olev riigikoodide loend asub selles kohas. http: // www.maxmind.com / app / iso3166.
nano / etc / nginx / nginx.konf
geoip_riik / usr / share / GeoIP / GeoIP.dat;
kaart $ geoip_country_code $ lubatud_country
vaikimisi jah;
LK nr;
  1. Avage vaikefail mis tahes tekstiredaktori kaudu (eelistatud on nano, kuna sellega on üsna lihtne redigeerida), seejärel lisage sisu, kunand rida vaikefaili asukohalõigu vahele. Kood töötab nii, et kui külastaja esitab veebiserverile päringu, tõmbab nginx nende IP-aadressid ja sobitub oma kirjetega vastava riigikoodi leidmiseks. Kui kaardiplokis nimetatud riik sobib, määratakse Muutuja $ allowed_country ja seeläbi $ atļaut_country kontrollimine võimaldab vastust manipuleerida. Selles juhendis ei kasutata seda ei ja seega keelatakse külastajal sisu nägemine. Kui on mitu domeeni, näiteks .com, .lk ehk nucuta.com või nucuta.net lisage kood alates 3. real igale domeenile.konf-fail samuti. Kui nginx on hästi konfigureeritud, asub vastava domeeni fail saidil saadaolevas kaustas.
nano / etc / nginx / sites-available / default
kui ($ lubatud_riik = ei)
tagastus 444;
  1. Taaskäivitage nginxi server järgmise käsuga. Pärast seda, kui pöördute veebiserveri juurde mis tahes sri lankani (LK) domeenist, ei too veebiserver midagi tagasi, nagu on näha järgmistes ekraanipiltides. Nginxis olev 444 ei tähenda midagi. Selle asemel võib siin kasutada ka mis tahes muid koode, näiteks 302, 301, 404. Kui on määratud 302 301, tuleks määrata ka külastaja ümbersuunamise URL.
systemctl taaskäivitage nginx

Järeldus

Külastajate blokeerimine vastavalt nende geograafilisele asukohale on erinevate piirkondlike eeskirjade ja määruste tõttu mõnede ettevõtete jaoks kriitilise tähtsusega. Nginx rahuldab selliseid vajadusi oma mooduliga geo_ip. See kasutab maxmindi andmebaase, et leida riik külastaja ip-aadressi järgi. Andmebaas töötab nii Ipv4 kui ka ipv6-ga. Kuna maxmind lõpetas nende pärandandmebaasi vormingu, on ainus viis nende andmete kasutamiseks kas teisendada uus failivorming dat-failiks või kasutada juba teisendatud faili või kasutada Nginxi jaoks kolmanda osapoole moodulit, et toetada mmdb-failivormingut. Pythoni skript on siin ideaalne teisendamiseks, kuigi tulemuse nägemine võtab veidi aega. Maxmind tagab üle 99% täpsuse riigi leidmisel IP põhjal; seega peab see olema tööriist mis tahes ettevõtte jaoks.

OpenTTD vs Simutrans
Oma transpordisimulatsiooni loomine võib olla lõbus, lõõgastav ja äärmiselt köitev. Sellepärast peate endale meelepärase leidmiseks kindlasti proovima...
OpenTTD õpetus
OpenTTD on seal üks populaarsemaid ärisimulatsioonimänge. Selles mängus peate looma suurepärase transpordiettevõtte. Alustate siiski alguses umbes 190...
SuperTuxKart Linuxile
SuperTuxKart on suurepärane pealkiri, mis on loodud selleks, et tuua teie Linuxi süsteemis tasuta Mario Karti kogemus. See on päris keeruline ja lõbus...