Zahteve: Uporabite nginx za blokiranje nekaterih IP naslovov, ki ne dostopajo do spletnih strani, kot so pajki, oglasi itd. Ali pa zaradi politik morate blokirati dostop z IP naslova v določeni državi.
Dostop do IP-naslova z določenim blokom
Nginx ponuja dva najosnovnejša ukaza za maskiranje in dovoljevanje IP-jev: zavrniti blokiranje in dovoliti, kot sledi:
Določite imenik, ki blokira dostop z določenih IP-jev
V konfiguracijski datoteki Nginx lahko uporabite bloke lokacije za ujemanje določenih poti URL-jev. Na primer, želimo omogočiti maskiranje v poteh URL-jev, ki se začnejo z /foo, tako da se ujemajo z vsemi URL potmi, ki se začnejo z /foo, kot so /foo/bar in /foo/baz/qux itd., kot sledi:
Če želišNatančno ujemanje /fooza uporabo naslednje konfiguracije:
Mapo lahko primerjate tudi z regexom:
Blokirajte dostop do določene države (regije).
Včasih želimo dovoliti dostop do naše spletne strani le določenim regijam. Ob poznavanju zgornjih dveh metod je preostali problem, kako dobiti vse IP segmente v določenem območju. Lahko ga dobimo z ip2location. Naslov:Prijava do hiperpovezave je vidna.
Izberite državo na levi strani okvirja, izberite V4 ali V6 v srednjem polju in izberite vrsto pravila na desni. Vzemimo za primer Japonsko:
Prenesi in razpakiraj, da dobiš txt datoteko,Izbriši prvo lokacijo / { in zadnjo },Na koncu dodajte vrstico allow all;Spremenite ime pripone iz .txt v .conf in jo naložite na strežnik, pri čemer si zapomnite imenik, kjer je bila nameščena. (npr. /usr/local/nginx/conf/nginx.conf/firewall.conf)
Spremenite konfiguracijsko datoteko Nginx, ki ustreza strani, na primer mapo /foo, da omogoča dostop le z ne-japonskih IP naslovov:
Če želite, da je to na ravni celotne lokacije, lahko pišete v sever ali http polje, na primer:
Nato vnesite naslednji ukaz za ponovno nalaganje nginx konfiguracije:
|