Priprava
V segmentu priprav se splošna navodila za obe pozneje navedeni metodi odstranijo. Očitno je pomembno, da imamo konzolo za dostop do strežnika prek SSH in ustrezen urejevalnik besedil kot nano za odpiranje konfiguracijske datoteke Nginx. Ko sta oba pridobljena, uporabite naslednje ukaze za odpiranje, shranjevanje in uveljavljanje sprememb. Naslednji koraki predvidevajo, da je uporabnik že dostopal do strežnika prek SSH.
- Vnesite naslednji ukaz, da odprete privzeto konfiguracijsko datoteko Nginx. Če ima vsaka domena ločeno konfiguracijsko datoteko, namesto privzeto uporabite njeno ime.
- V privzeto ali konfiguracijsko datoteko vnesite kode, navedene v enem od poznejših načinov. Poskrbite, da boste uporabili samo enega od njih.
- Z naslednjim ukazom preizkusite konfiguracijsko datoteko, preden jo potisnete v način v živo.
- Če je vse v pravilnem vrstnem redu, vnesite naslednji ukaz, da spremembe začnejo veljati.
Metoda 1: Splošna metoda
Splošno metodo je zelo enostavno izvesti in razumeti, saj vsebuje le lokacijski blok. Poleg tega blokira zahteve le za določene oblike datotek, namesto da bi blokiral vsako zahtevo neveljavnih sodnikov na strežnik.
- Kopirajte naslednji delček kode.
- Odprite privzeto datoteko nginx, kot je razvidno iz faze "Priprava".
- Kopirani delček kode prilepite pod prvi lokacijski blok, ki ga najdete v privzeti datoteki. V nginxu je pred nežno črto (/) vedno prednost pred nepravilnimi črkami regularnega izraza (~ *), zato se naslednji blok kode izvede pred blokom lokacije poševnice naprej.
- Shranite in zaprite privzeto datoteko ter sledite 3, 4 korakom v fazi »Priprava«, da začnejo spremembe veljati.
V naslednjem primeru blokira zahteve za datoteke css, gif, ico, jpeg, js, png, woff, woff2, ttf, ttc, otf in eot. V bloku lokacije je 10 pogojnih stavkov. Prvi pogojni stavek omogoča neposreden ogled virov prek spletnega brskalnika, 2nd in 3rd bloki omogočajo ogled virov skozi izvirno spletno mesto (gola in poddomena www), ostali bloki razen iskanja?q in zadnji blok omogočata pajkom iskalnikov dostop in indeksiranje virov, kar je zelo pomembno za indeksiranje slik v google slikah in bing slikah. Iskanje?q omogoča dostop do storitve predpomnilnika google in shranjevanje virov skupaj s stranjo, tako da je do strani mogoče dostopati neposredno prek rezultatov iskanja google, ko je spletno mesto brez povezave.
lokacija ~ * \.(css | gif | ico | jpeg | jpg | js | png | woff | woff2 | ttf | ttc | otf | eot) $if ($ http_referer !~ "^ $")
nastavite $ rule_0 1 $ rule_0;
if ($ http_referer !~ "^ http: // nucuta.com /.* $ ")
nastavite $ rule_0 2 $ rule_0;
if ($ http_referer !~ "^ http: // nucuta.com $ ")
nastavite $ rule_0 3 $ rule_0;
if ($ http_referer !~ * "google.")
nastavi $ rule_0 4 $ rule_0;
if ($ http_referer !~ * "iskanje?q = predpomnilnik ")
nastavite $ rule_0 5 $ rule_0;
if ($ http_referer !~ * "msn.")
nastavite $ rule_0 6 $ rule_0;
if ($ http_referer !~ * "yahoo.")
nastavite $ rule_0 7 $ rule_0;
if ($ http_user_agent !~ * "googlebot")
nastavite $ rule_0 8 $ rule_0;
if ($ http_user_agent !~ * "msnbot")
nastavite $ rule_0 9 $ rule_0;
if ($ http_user_agent !~ * "slurp")
nastavite $ rule_0 10 $ rule_0;
če ($ rule_0 = "10987654321")
vrnitev 403;
odmor;
2. metoda: metoda Valid_Referers
Veljavni sodniki so najprimernejši in splošno priznana metoda za enostavno blokiranje neveljavnih sodnikov. Vsebuje le dve vrstici v primerjavi s prejšnjo metodo in je zelo prilagodljiv. Vendar je nekoliko težko prebavljivo, saj gre za regularne izraze in drugačen mehanizem za blokiranje zahtev neveljavnih sodnikov.
- Kopirajte naslednji delček kode vmes in na sam začetek glavnega bloka lokacije.
- Zamenjajte seznam imen domen z dovoljenimi imeni domen, na primer google, bing ali svoje domene itd.
- Shranite in zaprite privzeto datoteko ter sledite 3, 4 korakom v fazi »Priprava«, da začnejo spremembe veljati.
veljavni_referenci ni blokiranih imen strežnika
*.linux.com linux.* www.linux.com / about /~ \.linux \.;
če ($ invalid_referer)
vrnitev 403;
V glavnem ima dva bloka kode, valid_referers in pogojni izraz if s spremenljivko invalid_referer. Privzeto se ta blok kode uporablja vmes in na samem začetku lokacijskega bloka pred izvajanjem katere koli druge kode, lahko pa se uporablja tudi kjer koli drugje, na primer med blokom lokacijske kode z regularnimi izrazi do zaznati določene oblike datotek, da bo blokiranje pomembno za zgoraj omenjene oblike datotek, kot v metodi 1. Kot smo že pojasnili, metoda vsebuje le dva bloka kode, prvi blok kode vsebuje 3 ključne besede, prvi je "nič", kadar v zahtevi HTTP manjka referenčno polje, drugi pa je "blokiran", ko referenčno polje izbrišete. s strani katere koli srednje stranke, kot je proxy, požarni zid itd., tretja ključna beseda je za določanje veljavnih domenskih imen.
Ko se ime domene začne s simbolom ~, se šteje za regularni izraz, zato se lahko uporabijo zelo zapleteni vzorci, vendar je težko razumeti, če regularni izrazi niso dobro znani. Če v izjavi valid_referers ni izpolnjen noben pogoj, je spremenljivka invalid_referer nastavljena na prazen niz, sicer pa na 1, kar pomeni, če prihajajoča zahteva ne vsebuje nobenega referenčnega polja ali če je nginx ugotovil, da je referenčno polje odstranjeno s požarnim zidom ali posrednikom ali če je referenčno polje nastavljeno na določene domene (veljaven seznam imen domen), potem je neveljavna referenčna spremenljivka nastavljena na prazen niz in s tem, če pogoj ni izpolnjen. Če pa zahteva prihaja iz domene, ki v izrazu valid_referers ni navedena kot veljavna domena, je blokirana.
ZAKLJUČEK
Upoštevajte to vsebino in preprečite vroče povezave na spletnih mestih, ki jih gosti Nginx.