Nginx

Hogyan blokkolhatjuk a gyorslinkelést az Nginx segítségével

Hogyan blokkolhatjuk a gyorslinkelést az Nginx segítségével
Az Nginx egy könnyű webszerver, amely képes rengeteg kérés kezelésére egy adott időben anélkül, hogy a szervert elfoglalná. Olyan kifinomult szolgáltatásokat tartalmaz, mint az aszinkron feldolgozás, az ipv6 támogatása, a gyorsítótár-betöltő, a http / 2 támogatás, a blokk hotlinking, a szálkészletek, az SPDY és az SSL, és még sok más. Közülük minden webhely egyik legfontosabb jellemzője a blokk hotlinking. A hotlinking rosszindulatú gyakorlat, amelyet bizonyos apró webmesterek gyakran végeznek, amikor nem tudják megfizetni a sávszélesség költségét, és így valahonnan máshonnan veszik el. Ez akadályozza a törvényes webmestereket abban, hogy kihasználják a fizetett sávszélességet. Ráadásul a csatolt erőforrás nem érhető el az eredeti webhelyet felkereső felhasználók számára, amikor az eredeti webmester számára lefoglalt sávszélesség elfogy, és a webhelytulajdonos nem fizetett a túlzottan elfogyasztott sávszélességért. Összességében meg kell állítani a weboldal gyorshivatkozásának integritásának megőrzése érdekében, és ez az útmutató megtanítja, hogyan lehet ezt könnyedén elvégezni.

Készítmény

Az előkészítési szegmensben mindkét későbbi módszerre vonatkozó általános utasításokat levesszük. Nyilvánvaló, hogy fontos egy konzol a szerver SSH-n keresztüli eléréséhez, és egy megfelelő szövegszerkesztő nano-ként az Nginx konfigurációs fájl megnyitásához. Miután mindkettőt megszerezte, használja a következő parancsokat a módosítások megnyitásához, mentéséhez és alkalmazásához. A következő lépések feltételezik, hogy a felhasználó SSH-n keresztül már elérte a kiszolgálót.

nano / etc / nginx / sites-available / default

1. módszer: Általános módszer

Az általános módszer nagyon könnyen megvalósítható és érthető, mivel csak egy helyblokkot tartalmaz. Ezenkívül csak bizonyos fájlformátumokhoz tartozó kérelmeket blokkol, ahelyett, hogy blokkolná az érvénytelen hivatkozók minden kérését a szerverre.

  1. Másolja a következő kódrészletet.
  2. Nyissa meg az nginx alapértelmezett fájlját az „Előkészítés” szakaszban látható módon.
  3. Illessze be a másolt kódrészletet az alapértelmezett fájlban található első helyblokk alá. Az nginx-ben a szabályos kifejezés kis- és nagybetűk (~ *) mindig elsőbbséget élveznek az elővágás (/) előtt, és így a következő kódrészlet végrehajtásra kerül az elővágás perjel helyblokkja előtt.
  4. Mentse el, és zárja be az alapértelmezett fájlt, majd kövesse a 3, 4 lépéseket az „Előkészítés” szakaszban a módosítások életbe léptetéséhez.

A következő példában blokkolja a css, gif, ico, jpeg, js, png, woff, woff2, ttf, ttc, otf és eot fájlok kéréseit. A helyblokk alatt 10 feltételes utasítás található. Az első feltételes utasítás lehetővé teszi az erőforrások közvetlen megtekintését a webböngészőn keresztül, 2nd és 3rd blokkok lehetővé teszik az erőforrások megtekintését az eredeti webhelyen (meztelen és www aldomainek egyaránt), a többi blokk a keresés kivételével?A q és az utolsó blokk lehetővé teszi a keresőmotorok számára, hogy hozzáférjenek az indexhez, és indexeljék az erőforrásokat, ami nagyon fontos a képek indexeléséhez mind a google képekben, mind a képeken. A keresés?q lehetővé teszi a Google gyorsítótár-szolgáltatásának elérését és az erőforrások mentését az oldallal együtt, és ezáltal az oldal közvetlenül elérhető a Google keresési eredményei révén, amikor a webhely offline állapotban van.

hely ~ * \.(css | gif | ico | jpeg | jpg | js | png | woff | woff2 | ttf | ttc | otf | eot) $
ha ($ http_referer !~ "^ $")
állítsa $ rule_0 1 $ rule_0;

ha ($ http_referer !~ "^ http: // nucuta.com /.* $ ")
állítsa $ rule_0 2 $ rule_0;

ha ($ http_referer !~ "^ http: // nucuta.com $ ")
állítsa be a következőt: $ rule_0 3 $ rule_0;

ha ($ http_referer !~ * "google.")
set $ rule_0 4 $ rule_0;

ha ($ http_referer !~ * "keresés?q = gyorsítótár ")
állítsa $ rule_0 5 $ rule_0;

ha ($ http_referer !~ * "msn.")
állítsa be a következőt: $ rule_0 6 $ rule_0;

ha ($ http_referer !~ * "yahoo.")
set $ rule_0 7 $ rule_0;

ha ($ http_user_agent !~ * "googlebot")
set $ rule_0 8 $ rule_0;

ha ($ http_user_agent !~ * "msnbot")
set $ rule_0 9 $ rule_0;

ha ($ http_user_agent !~ * "slurp")
set $ rule_0 10 $ rule_0;

if ($ rule_0 = "10987654321")
visszatérés 403;
szünet;

2. módszer: Valid_Referers módszer

Az érvényes hivatkozók a legkényelmesebbek, és a széles körben elismert módszer az érvénytelen hivatkozók könnyebb blokkolására. Az előző módszerhez képest csak két sort tartalmaz, és nagyon rugalmas. Kicsit nehéz azonban megemészteni, mivel rendszeres kifejezéseket tartalmaz, és más mechanizmust tartalmaz az érvénytelen hivatkozóktól érkező kérések blokkolásához.

  1. Másolja a következő kódrészletet a fő helyblokk közé és közé.
  2. Cserélje le a domain névlistát az engedélyezett domain nevekre, például google, bing, vagy saját domainjeire stb.
  3. Mentse el, és zárja be az alapértelmezett fájlt, majd kövesse a 3, 4 lépéseket az „Előkészítés” szakaszban a módosítások életbe léptetéséhez.

valid_referers nincs letiltva a kiszolgáló_nevek

*.linux.com linux.* www.linux.com / about /
~ \.linux \.;
 
if ($ invalid_referer)
visszatérés 403;

Főleg két kódblokkja van, valid_referers, és az if feltételes kifejezés érvénytelen_referer változóval. Alapértelmezés szerint ezt a kódblokkot a köztük és a helyblokk legelején használják, mielőtt bármilyen más kódot végrehajtanának, de használható bármely más helyen is, például egy helykódblokk között, rendszeres kifejezésekkel észleljen bizonyos fájlformátumokat, hogy a blokkolás releváns legyen a fent említett fájlformátumok számára, az 1. módszer szerint. Mint korábban kifejtettük, a módszer csak két kódblokkot tartalmaz, az első kódblokk 3 kulcsszót tartalmaz, az első „nincs”, ha a hivatkozó mező hiányzik a HTTP-kérésből, a második „blokkolva” van, ha a hivatkozó mező törlődik bármilyen középső fél, például proxy, tűzfal stb., a harmadik kulcsszó az érvényes domainnevek megadására szolgál.

Amikor a domain név „~” szimbólummal kezdődik, akkor azt reguláris kifejezésnek tekintik, és ezért nagyon összetett minták használhatók, de nehéz lehet megérteni, ha a reguláris kifejezéseket nem ismerik jól. Ha a valid_referers utasításban egyik feltétel sem teljesül, az érvénytelen_referer változó üres karaktersorozatra van állítva, különben 1-re áll, mit jelent, ha az érkező kérelem nem tartalmaz referáló mezőt, vagy ha az nginx azonosította, hogy a hivatkozó mező eltávolításra kerül egy tűzfal vagy egy proxy, vagy ha a hivatkozó mező a megadott tartományokra van beállítva (érvényes tartománynévlista), akkor az érvénytelen hivatkozó változó üres karaktersorozatra van állítva, és ezáltal, ha a feltétel nem kerül végrehajtásra. Ha azonban a kérés olyan tartományból érkezik, amelyet nem a valid_referers kifejezés ad meg érvényes tartományként, akkor az blokkolva van.

KÖVETKEZTETÉS

Kérjük, mindenképpen vegye figyelembe ezt a tartalmat, és akadályozza meg a hotlinkelést Nginx által tárolt webhelyein.

Az egérkattintások emulálása az egérrel a Clickless Mouse használatával a Windows 10 rendszerben
Ha az egeret vagy a billentyűzetet nem megfelelő testtartásban, túlzott használat mellett használhatja, számos egészségügyi problémát okozhat, beleért...
Ezekkel az ingyenes eszközökkel adja hozzá az egérmozdulatokat a Windows 10 rendszerhez
Az elmúlt években a számítógépek és az operációs rendszerek nagymértékben fejlődtek. Volt idő, amikor a felhasználóknak parancsokkal kellett navigálni...
Az egér mozgásának vezérlése és kezelése több monitor között a Windows 10 rendszerben
Dual Display Mouse Manager lehetővé teszi az egér mozgásának vezérlését és konfigurálását több monitor között, lassítva annak mozgását a határ közeléb...