Reikalavimai: Naudokite nginx, kad užblokuotumėte kai kuriuos IP adresus, pvz., naršykles, skelbimus ir kt. Arba dėl politikos priežasčių turite užblokuoti prieigą iš IP adreso tam tikroje šalyje.
Blokuoti nurodytą IP prieigą
"Nginx" pateikia dvi pagrindines komandas, skirtas IP maskavimui ir leidimui: uždrausti blokuoti ir leisti leisti, kaip nurodyta toliau:
Nurodykite katalogą, blokuojantį prieigą iš nurodytų IP
"Nginx" konfigūracijos faile galite naudoti vietos blokus, kad atitiktumėte konkrečius URL kelius. Pavyzdžiui, norime įjungti maskavimą URL keliuose, prasidedančiuose /foo, atitinkančius visus URL kelius, prasidedančius /foo, pvz., /foo/bar ir /foo/baz/qux ir kt., kaip nurodyta toliau:
Jei noriTiksli atitiktis /foonaudoti šią konfigūraciją:
Taip pat galite suderinti katalogą su reguliariąja išraiška:
Blokuoti prieigą prie nurodytos šalies (regiono).
Kartais norime leisti tik tam tikriems regionams pasiekti mūsų svetainę. Žinant pirmiau minėtus du metodus, likusi problema yra tai, kaip gauti visus IP segmentus tam tikrame regione. Galime jį gauti iš ip2location. Adresas:Hipersaito prisijungimas matomas.
Kairėje laukelio pusėje pasirinkite šalį, viduriniame laukelyje pasirinkite V4 arba V6, o dešinėje pasirinkite taisyklės tipą. Kaip pavyzdį paimkime Japoniją:
Atsisiųskite ir išpakuokite, kad gautumėte txt failą,Ištrinkite pirmąją vietą / { ir paskutinį },Galiausiai pridėkite eilutę leisti visus;Pakeiskite priesagos pavadinimą iš .txt į .conf ir įkelkite jį į serverį, prisimindami katalogą, kuriame jis buvo įdėtas. (pvz., /usr/local/nginx/conf/nginx.conf/firewall.conf)
Pakeiskite svetainę atitinkantį "Nginx" konfigūracijos failą, pvz., /foo katalogą, kad prieiga būtų suteikta tik iš ne japoniškų IP:
Jei norite, kad jis būtų visoje svetainėje, galite rašyti į filtrą arba http lauką, pvz.:
Tada įveskite šią komandą, kad iš naujo įkeltumėte nginx konfigūraciją:
|