Nginx

NGINX bloks, pamatojoties uz ģeogrāfisko atrašanās vietu

NGINX bloks, pamatojoties uz ģeogrāfisko atrašanās vietu
Nginx ir augstas veiktspējas, viegls, atvērtā koda tīmekļa serveris, kas sabiedrībai pieejams bez maksas. Tam ir ārkārtīgi daudz vērtīgu funkciju, salīdzinot ar citiem viegliem serveriem. Viena no šādām funkcijām ir tās ģeoip_modulis, ko izmanto, lai identificētu ģeogrāfisko atrašanās vietu, no kuras nāk apmeklētājs. Pēc noklusējuma tas izmanto kopā ar maxmind sniegtajiem datiem, lai uzzinātu apmeklētāja ģeogrāfisko atrašanās vietu. Ģeogrāfiskās atrašanās vietas noteikšanas priekšrocība ir dažādu politiku ieviešana dažādās ģeogrāfiskās vietās, piemēram, ja bizness ir pieejams tikai Ziemeļamerikas valstīm, ar geoip_module tas var bloķēt visus citus apmeklētājus no citiem reģioniem. Tas nodrošina, ka uzņēmumam nav jāievēro noteikumi un noteikumi, ko īsteno dažādi reģioni, piemēram, GDPR (Vispārīgā datu aizsardzības regula).

Īstenošana

Lai gan sistēmā ir daudz veidu, kā risinājumu ieviest, šī rokasgrāmata parāda vienkāršāko veidu, kā to reģistrēt ar minimālu piepūli.

  1. Acīmredzot pirms šajā rokasgrāmatā norādīto darbību uzsākšanas Nginx ir jāinstalē sistēmā. Tomēr ar Nginx instalēšanu nepietiek, jo tas prasa arī geo_ip_module instalēšanu. Maxmind mēdza atbrīvot viņu datubāzi dat formātā, bet kopš kāda laika tā tika izlaista mmdb formātā. Tas liek Nginx pieprasīt jaunu geo_ip_module ar nosaukumu ngx_http_geoip2_module. Tomēr tas nav nepieciešams, jo vecā datubāze joprojām ir pietiekama. Jebkurā gadījumā, ja nginx nav instalēts, iestatiet to ar šīm divām komandām.
apt-get atjauninājums
apt-get install nginx
  1. Ierakstiet šādu komandu, lai pārliecinātos, ka ir instalēts http_geoip modulis.
nginx -V

  1. Ir vairāki veidi, kā iegūt / izveidot datu bāzi, kurā ir IP adreses un to attiecīgās valsts, pilsētu nosaukumi. Instalējiet geo_ip datu bāzi ar šādām komandām. Šīs metodes izmantošana atvieglo geo_Ip datu bāzes instalēšanu sistēmā. Tomēr ideālākais veids ir lejupielādēt jaunu kopiju, jo tās tiek atjauninātas ar jaunāko informāciju. Tātad, izmantojiet vienu no trim tālāk norādītajām iespējām. Pirmais variants ir pietiekams jebkuram vidusmēra lietotājam, 2nd opcija ir iegūt jaunāko maxmind datu bāzi, trešā opcija pārveido mmdb datu bāzi par atbilstošo dat faila formātu.
    Ir laiks, un tas prasa daudz resursu, un tāpēc tas nav ieteicams vājiem serveriem. Tomēr, ja joprojām ir nepieciešama atjaunināta datu bāze, izmantojiet 2. opciju. Tas ietaupa laiku un naudu faila konvertēšanā, taču drošību nevar garantēt, jo to konvertē kāds cits, nevis kāda oficiāla puse. 3. opcijai ir nepieciešami 3 pip pakotnes, setuptools, ipaddr, dcryptit. Skripta apstrādei tiek izmantots pitons 2. Pēdējā rindā zip arhīvs tiek pārveidots par .dat fails. Pat ja tas ir minēts par mmdb faila formāta pārveidošanu uz .dat, šeit tas faktiski pārvērš CSV failu uz .dat faila formāts, un tāpēc tam ir nepieciešami geoname2fips.csv fails, kas nāk kopā ar konversijas failu paketi.

1. variants

apt-get install geoip-datu bāzes libgeoip1

2. variants

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

3. variants

CD / mājas /
mkdir geolite2legacy /
git klons https: // github.com / sherpya / geolite2legacy
apt-get install python
apt-get instalēt python-pip
PIP instalējiet iestatīšanas rīkus
PIP instalējiet
pip instalēt dcryptit
cd / usr / share /
mkdir GeoIP /
cd / usr / share / GeoIP /
wget https: // ģeolīts.maxmind.com / download / geoip / database / GeoLite2-Country-CSV.zip
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. Konfigurējiet Nginx konfigurācijas failu šādi. Ierakstiet komandu Linux termināļa pirmajā rindā kā parasti, un pārējās rindas nokopējiet uz nginx.conf fails. Pārliecinieties, vai nosaukums ir minēts / usr / share / GeoIP / GeoIP.dat sakrīt ar dat failu, kas saglabāts mapē usr / share / GeoIP. Lai arī nākamajā piemērā tā norāda tikai vienu valsti, vairākus valstu kodus kā norādīto piemēru var norādīt ar vienu rindu katrā valsts kodā. Valstīs pieejamo valstu kodu sarakstu var atrast šajā vietā. http: // www.maxmind.com / app / iso3166.
nano / etc / nginx / nginx.konf
geoip_country / usr / share / GeoIP / GeoIP.dat;
karte $ geoip_country_code $ atļauta_valsts
noklusējums jā;
LK nr;
  1. Atveriet noklusējuma failu, izmantojot jebkuru teksta redaktoru (priekšroka dodama nano, jo ar to ir diezgan viegli rediģēt), pēc tam pievienojiet saturu kopš 2nd rinda starp visām vietām noklusējuma faila atrašanās vietas blokā. Kods darbojas šādi: kad apmeklētājs pieprasa tīmekļa serverim, nginx ielādē viņu IP adreses un sakrīt ar tās ierakstiem, lai atrastu attiecīgo valsts kodu. Ja kartes blokā minētā valsts sakrīt, numuram tiek piešķirts nē Mainīgais $ allowed_country, tādējādi pārbaudot $ atļauts_country, ļauj manipulēt ar atbildi. Šajā ceļvedī tas neizmanto nē, un tādējādi apmeklētājam tiek liegts redzēt saturu. Ja ir vairāki domēni, piemēram, .com, .lk, vai nucuta.com vai nucuta.net pievienojiet kodu kopš 3. rindas katram “domēnam”.conf failu, kā arī. Ja nginx ir labi konfigurēts, attiecīgā domēna fails atrodas vietnēs pieejamajā mapē.
nano / etc / nginx / sites-available / default
ja ($ atļauts_valsts = nē)
atgriešanās 444;
  1. Restartējiet nginx serveri ar šādu komandu. Pēc tam, piekļūstot tīmekļa serverim no jebkura Sri Lanka (LK) domēna, tīmekļa serveris neko neatgriež, kā redzams turpmākajos ekrānuzņēmumos. Nginx 444 neko neatspoguļo. Tā vietā šeit var izmantot arī jebkuru citu kodu, piemēram, 302, 301, 404. Ja ir norādīts 302 301, jānorāda arī URL, kas novirza apmeklētāju.
restartēt nginx

Secinājums

Apmeklētāju bloķēšana, pamatojoties uz viņu ģeogrāfisko atrašanās vietu, dažu uzņēmumu darbībai ir kritiska dažādu reģionālo noteikumu un noteikumu dēļ. Nginx apmierina šādas vajadzības ar savu geo_ip moduli. Tas izmanto maxmind datu bāzes, lai atrastu valsti pēc apmeklētāja ip adreses. Datu bāze darbojas gan ar Ipv4, gan ar ipv6. Tā kā maxmind pārtrauca savu mantoto dat datubāzes formātu, vienīgais veids, kā izmantot viņu datus, ir vai nu konvertēt jauno faila formātu dat failā vai izmantot jau pārveidotu failu, vai izmantot trešās puses moduli Nginx, lai atbalstītu mmdb faila formātu. Šeit sniegtais pitona skripts ir ideāls pārveidošanai, lai gan rezultāta redzēšana prasa kādu laiku. Maxmind garantē vairāk nekā 99% precizitāti, meklējot valsti, pamatojoties uz IP; tāpēc tas ir obligāts rīks jebkuram biznesam.

Kā palielināt FPS Linux?
FPS apzīmē Kadri sekundē. FPS uzdevums ir izmērīt kadru ātrumu video atskaņošanā vai spēļu izrādēs. Vienkāršos vārdos nepārtrauktu pilnekrāna attēlu s...
Populārākās Oculus App Lab spēles
Ja esat Oculus austiņu īpašnieks, jums ir jāsazinās par sānu ielādi. Sānu ielāde ir process, kurā austiņās tiek instalēts saturs, kas nav veikals. Sid...
10 labākās spēles, kuras spēlēt Ubuntu
Windows platforma ir bijusi viena no dominējošajām spēļu platformām, jo ​​mūsdienās tiek attīstīts milzīgs spēļu skaits, lai atbalstītu Windows. Vai k...