Nginx

Kako blokirati vroče povezave z Nginxom

Kako blokirati vroče povezave z Nginxom
Nginx je lahek spletni strežnik, ki lahko v danem trenutku obdela ogromno število zahtev, ne da bi bil strežnik zaseden. Vsebuje izpopolnjene funkcije, kot so asinhrona obdelava, podpora ipv6, nalagalnik predpomnilnika, podpora http / 2, vroče povezave blokov, področja niti, SPDY in SSL ter še veliko več. Med njimi je ena najpomembnejših lastnosti katerega koli spletnega mesta na splošno blok hitra povezava. Vroče povezave so zlonamerna praksa, ki jo pogosto počnejo nekateri drobni spletni mojstri, če si ne morejo privoščiti stroškov pasovne širine, in jo na koncu prevzamejo od nekje drugje. To zakonitim spletnim mojstrom onemogoča uporabo pasovne širine, ki so jo plačali. Povrh vsega morda povezani vir ni na voljo uporabnikom, ki obiščejo prvotno spletno mesto, ko se izteče pasovna širina, dodeljena prvotnemu spletnemu skrbniku, in lastnik spletnega mesta ni plačal pretirano porabljene pasovne širine. Vsekakor je treba za ohranitev celovitosti ustaviti dostopnost vročih povezav do spletnega mesta, ta priročnik pa uči, kako to enostavno narediti.

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.

nano / etc / nginx / sites-available / default

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.

  1. Kopirajte naslednji delček kode.
  2. Odprite privzeto datoteko nginx, kot je razvidno iz faze "Priprava".
  3. 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.
  4. 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.

  1. Kopirajte naslednji delček kode vmes in na sam začetek glavnega bloka lokacije.
  2. Zamenjajte seznam imen domen z dovoljenimi imeni domen, na primer google, bing ali svoje domene itd.
  3. 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.

Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...
Brezplačni in odprtokodni igralni mehanizmi za razvoj iger Linux
Ta članek bo zajemal seznam brezplačnih in odprtokodnih igralnih mehanizmov, ki jih je mogoče uporabiti za razvoj 2D in 3D iger v Linuxu. Obstaja veli...