Cerințe: Folosește nginx pentru a bloca accesul unor IP-uri la site-uri web, cum ar fi crawlere, reclame etc. Sau, din motive de politică, trebuie să blochezi accesul de pe o adresă IP dintr-o anumită țară.
Acces IP specificat pe bloc
Nginx oferă două dintre cele mai de bază comenzi pentru mascare și permiterea IP-urilor: refuz blocarea și permite permite, după cum urmează:
Specifică directorul pentru a bloca accesul de la IP-urile specificate
În fișierul de configurare al Nginx, poți folosi blocuri de locație pentru a potrivi anumite căi URL. De exemplu, vrem să activăm mascarea în căile URL care încep cu /foo, potrivind toate căile URL care încep cu /foo, cum ar fi /foo/bar și /foo/baz/qux, după cum urmează:
Dacă vreiPotrivire exactă /foopentru a folosi următoarea configurație:
Poți de asemenea să potrivești directorul cu regex:
Blochează accesul la țara (regiunea) specificată.
Uneori vrem să permitem accesul doar anumitor regiuni pe site-ul nostru. Cunoscând cele două metode de mai sus, problema rămasă este cum să obții toate segmentele IP dintr-o anumită regiune. Îl putem obține de pe ip2location. Adresă:Autentificarea cu hyperlink este vizibilă.
Selectează țara din partea stângă a cutiei, selectează V4 sau V6 în caseta din mijloc și selectează tipul de regulă din dreapta. Luați Japonia ca exemplu:
Descarcă și decomprimă pentru a obține fișierul txt,Șterge prima locație / { și ultima },În final, adaugă o linie pentru toate;Schimbă numele sufixului de la .txt la .conf și încarcă-l pe server, amintindu-ți directorul unde a fost plasat. (de exemplu, /usr/local/nginx/conf/nginx.conf/firewall.conf)
Modifică fișierul de configurare Nginx corespunzător site-ului, cum ar fi directorul /foo, pentru a permite accesul doar de pe IP-uri non-japoneze:
Dacă vrei să fie la nivelul întregului site, poți scrie în serverul sau câmpul http, de exemplu:
Apoi introdu următoarea comandă pentru a reîncărca configurația nginx:
|