Nginx

Kako blokirati hitne veze s Nginxom

Kako blokirati hitne veze s Nginxom
Nginx je lagani web poslužitelj sposoban obrađivati ​​ogroman broj zahtjeva u određenom trenutku, a da poslužitelj ne zauzima. Sadrži sofisticirane značajke kao što su asinkrona obrada, podrška za ipv6, učitavač predmemorije, http / 2 podrška, hitno povezivanje blokova, spremišta niti, SPDY i SSL i još mnogo toga. Među njima je jedna od najvažnijih značajki za bilo koju web stranicu općenito blok hitno povezivanje. Hotlinking je zlonamjerna praksa koju često rade pojedini sitni web majstori kad si ne mogu priuštiti troškove propusnosti, pa ih na kraju preuzimaju s nekog drugog mjesta. To koči legitimne web majstore da koriste propusnost koju su platili. Povrh toga, povezani resurs mogao bi biti nedostupan za korisnike koji posjete izvorno web mjesto, kada se potroši propusnost dodijeljena originalnom webmasteru, a vlasnik web stranice nije platio pretjerano potrošenu propusnost. Sve u svemu, radi očuvanja integriteta, dostupnost internetskih poveznica treba zaustaviti, a ovaj vodič podučava kako to lako učiniti.

Priprema

U segmentu pripreme uklanjaju se opće upute za obje kasnije spomenute metode. Očito je važno imati konzolu za pristup poslužitelju putem SSH-a i odgovarajući uređivač teksta kao nano za otvaranje Nginx konfiguracijske datoteke. Nakon što steknete obje, upotrijebite sljedeće naredbe za otvaranje, spremanje i primjenu promjena. Sljedeći koraci pretpostavljaju da je korisnik već pristupio poslužitelju preko SSH-a.

nano / etc / nginx / sites-available / default

Metoda 1: Opća metoda

Opću je metodu vrlo jednostavno implementirati i razumjeti jer sadrži samo blok lokacije. Nadalje, blokira zahtjeve samo za određene formate datoteka, umjesto da blokira svaki zahtjev nevažećih referenta na poslužitelj.

  1. Kopirajte sljedeći isječak koda.
  2. Otvorite zadanu datoteku nginxa kako se vidi u fazi "Priprema".
  3. Zalijepite isječak kopiranog koda ispod prvog bloka lokacije koji se nalazi u zadanoj datoteci. U nginxu se ne osjeća osjetljiv na velika i mala slova (~ *) uvijek ispred prioriteta kosa crta (/), pa se sljedeći isječak koda izvršava prije bloka lokacije kosa crta.
  4. Spremite i zatvorite zadanu datoteku, a zatim slijedite 3, 4 koraka u fazi „Priprema“ da biste unijeli promjene na snagu.

U sljedećem primjeru blokira zahtjeve za css, gif, ico, jpeg, js, png, woff, woff2, ttf, ttc, otf i eot datoteke. U bloku lokacije nalazi se 10 uvjetnih izjava. Prva uvjetna izjava omogućuje izravni pregled resursa putem web preglednika, 2nd i 3rd blokovi omogućuju pregled izvora putem izvorne web stranice (i gola i www poddomena), ostatak blokova osim pretraživanja?q i posljednji blok omogućuju pretraživačima pristup i indeksiranje resursa, što je vrlo važno za indeksiranje slika na google slikama i bing slikama. Potraga?q omogućava google cache usluzi pristup i spremanje resursa zajedno sa stranicom, a time se stranici može pristupiti izravno putem rezultata pretraživanja google kada je stranica offline.

mjesto ~ * \.(css | gif | ico | jpeg | jpg | js | png | woff | woff2 | ttf | ttc | otf | eot) $
if ($ http_referer !~ "^ $")
postavi $ rule_0 1 $ rule_0;

if ($ http_referer !~ "^ http: // nucuta.com /.* $ ")
postavi $ rule_0 2 $ rule_0;

if ($ http_referer !~ "^ http: // nucuta.com $ ")
postavi $ rule_0 3 $ rule_0;

if ($ http_referer !~ * "google.")
postavi $ rule_0 4 $ rule_0;

if ($ http_referer !~ * "pretraga?q = predmemorija ")
postavi $ rule_0 5 $ rule_0;

if ($ http_referer !~ * "msn.")
postavi $ rule_0 6 $ rule_0;

if ($ http_referer !~ * "yahoo.")
postavi $ rule_0 7 $ rule_0;

if ($ http_user_agent !~ * "googlebot")
postavi $ rule_0 8 $ rule_0;

if ($ http_user_agent !~ * "msnbot")
postavi $ rule_0 9 $ rule_0;

if ($ http_user_agent !~ * "slurp")
postavi $ rule_0 10 $ rule_0;

ako ($ pravilo_0 = "10987654321")
povratak 403;
pauza;

2. metoda: metoda Valid_Referers

Valjani suci su najprikladniji i općepoznata metoda za lako blokiranje nevaljanih suca. Sadrži samo dva retka u usporedbi s prethodnom metodom i vrlo je fleksibilan. Međutim, malo je teško za probaviti jer su u pitanju regularni izrazi i drugačiji mehanizam za blokiranje zahtjeva nevaljanih recenzenata.

  1. Kopirajte sljedeći isječak koda između i na sam početak glavnog bloka lokacije.
  2. Zamijenite popis imena domena dopuštenim imenima domena, na primjer google, bing ili vlastite domene itd.
  3. Spremite i zatvorite zadanu datoteku, a zatim slijedite 3, 4 koraka u fazi „Priprema“ da biste unijeli promjene na snagu.

valjani_refereri nema blokiranih imena_poslužitelja

*.linux.com linux.* www.linux.com / about /
~ \.Linux \.;
 
if ($ invalid_referer)
povratak 403;

Uglavnom ima dva bloka koda, valid_referers i uvjetni izraz if s varijablom invalid_referer. Prema zadanim postavkama, ovaj blok koda koristi se između i na samom početku bloka lokacije prije izvođenja bilo kojeg drugog koda, ali se može koristiti i na bilo kojem drugom mjestu, na primjer između bloka koda lokacije s regularnim izrazima u otkriti određene formate datoteka kako bi blokiranje bilo relevantno za gore navedene formate datoteka, kao u metodi 1. Kao što je ranije objašnjeno, metoda sadrži samo dva bloka koda, prvi blok koda sadrži 3 ključne riječi, prvi je "nema" kada u preporuci nedostaje polje referenca u HTTP zahtjevu, drugi je "blokiran" kad se polje referenca izbriše bilo koja srednja strana, poput proxyja, vatrozida itd., treća je ključna riječ za specificiranje važećih imena domena.

Kada naziv domene započinje simbolom “~”, smatra se regularnim izrazom, pa se stoga mogu koristiti vrlo složeni obrasci, ali možda će biti teško razumjeti ako regularni izrazi nisu dobro poznati. Ako nijedan od uvjeta nije zadovoljen u naredbi valid_referers, varijabla invalid_referer postavljena je na prazan niz, u suprotnom je postavljena na 1, što znači ako nadolazeći zahtjev ne sadrži nijedno polje referenca ili ako je nginx identificirao da je polje referenca uklonjeno vatrozidom ili proxyjem, ili ako je polje referenca postavljeno na navedene domene (valjani popis imena domena), tada je nevaljana referenca varijabla postavljena na prazan niz, a time i ako se uvjet ne izvrši. Međutim, ako zahtjev dolazi iz domene koja nije navedena u izrazu valid_referers kao valjana domena, tada je blokirana.

ZAKLJUČAK

Svakako uzmite u obzir ovaj sadržaj i spriječite vruće poveznice na web lokacijama koje hostira Nginx.

Kako koristiti AutoKey za automatizaciju Linux igara
AutoKey je uslužni program za automatizaciju radne površine za Linux i X11, programiran na Python 3, GTK i Qt. Koristeći njegovu skriptiranje i MACRO ...
Kako prikazati brojač FPS-a u Linux igrama
Linux gaming dobio je velik poticaj kada je Valve najavio Linux podršku za Steam klijent i njihove igre 2012. godine. Od tada su mnoge AAA i indie igr...
Kako preuzeti i igrati Sid Meier's Civilization VI na Linuxu
Uvod u igru Civilization 6 moderan je pogled na klasični koncept predstavljen u seriji igara Age of Empires. Ideja je bila prilično jednostavna; započ...