Sagatavošana
Sagatavošanas segmentā tiek noņemti vispārīgie norādījumi par abām vēlāk minētajām metodēm. Acīmredzot ir svarīgi, lai būtu piekļuve serverim, izmantojot SSH, konsole un pienācīgs teksta redaktors kā nano, lai atvērtu Nginx konfigurācijas failu. Kad abi ir iegūti, izmantojiet šīs komandas, lai atvērtu, saglabātu un lietotu izmaiņas. Šīs darbības pieņem, ka lietotājs jau ir piekļuvis serverim, izmantojot SSH.
- Ierakstiet šo komandu, lai atvērtu noklusējuma Nginx konfigurācijas failu. Ja katram domēnam ir atsevišķs konfigurācijas fails, noklusējuma vietā izmantojiet tā nosaukumu.
- Noklusējuma vai konfigurācijas failā ierakstiet kodus, kas norādīti vienā no vēlāk minētajām metodēm. Izmantojiet tikai vienu no tiem.
- Izmantojiet šo komandu, lai pārbaudītu konfigurācijas failu pirms tā pārvietošanas reāllaikā.
- Ja viss ir pareizā secībā, dodieties uz priekšu un ierakstiet šo komandu, lai izmaiņas stātos spēkā.
1. metode: Vispārīgā metode
Vispārīgo metodi ir ļoti viegli ieviest un saprast, jo tajā ir tikai atrašanās vietas bloks. Turklāt tas bloķē pieprasījumus tikai noteiktiem failu formātiem, nevis bloķē katru pieprasījumu no nederīgiem novirzītājiem uz serveri.
- Kopējiet šo koda fragmentu.
- Atveriet noklusējuma failu nginx, kā redzams fāzē “Sagatavošana”.
- Ielīmējiet nokopēto koda fragmentu zem pirmā atrašanās vietas bloka, kas atrodams noklusējuma failā. Nginx sistēmā regulārās izteiksmes nejutīgais (~ *) vienmēr tiek prioritizēts pirms slīpsvītras uz priekšu (/), un tāpēc šāds koda fragments tiek izpildīts pirms slīpsvītras atrašanās vietas bloka.
- Saglabājiet un aizveriet noklusējuma failu un pēc tam izpildiet 3, 4 darbības fāzē “Sagatavošana”, lai izmaiņas stātos spēkā.
Šajā piemērā tas bloķē pieprasījumus failiem css, gif, ico, jpeg, js, png, woff, woff2, ttf, ttc, otf un eot. Vietas blokā ir 10 nosacīti paziņojumi. Pirmais nosacītais paziņojums ļauj resursus tieši apskatīt, izmantojot tīmekļa pārlūkprogrammund un 3rd bloki ļauj resursus apskatīt, izmantojot sākotnējo vietni (gan neapbruņotos, gan www apakšdomēnus), pārējie bloki, izņemot meklēšanu?q un pēdējais bloks ļauj meklētājprogrammu rāpuļprogrammām piekļūt un indeksēt resursus, kas ir ļoti svarīgi, lai indeksētu attēlus gan google attēlos, gan bing attēlos. Meklēšana?q ļauj google kešatmiņas pakalpojumam piekļūt un saglabāt resursus kopā ar lapu, tādējādi lapai var piekļūt tieši, izmantojot Google meklēšanas rezultātu, kad vietne ir bezsaistē.
atrašanās vieta ~ * \.(css | gif | ico | jpeg | jpg | js | png | woff | woff2 | ttf | ttc | otf | eot) $ja ($ http_referer !~ "^ $")
iestatīt $ rule_0 1 $ rule_0;
ja ($ http_referer !~ "^ http: // nucuta.com /.* $ ")
iestatīt $ rule_0 2 $ rule_0;
ja ($ http_referer !~ "^ http: // nucuta.com $ ")
iestatīt $ rule_0 3 $ rule_0;
ja ($ http_referer !~ * "google.")
iestatīt $ rule_0 4 $ rule_0;
ja ($ http_referer !~ * "meklēšana?q = kešatmiņa ")
iestatīt $ rule_0 5 $ rule_0;
ja ($ http_referer !~ * "msn.")
iestatīt $ rule_0 6 $ rule_0;
ja ($ http_referer !~ * "yahoo.")
iestatīt $ rule_0 7 $ rule_0;
ja ($ http_user_agent !~ * "googlebot")
iestatīt $ rule_0 8 $ rule_0;
ja ($ http_user_agent !~ * "msnbot")
iestatīt $ rule_0 9 $ rule_0;
ja ($ http_user_agent !~ * "slurp")
iestatīt $ rule_0 10 $ rule_0;
ja ($ rule_0 = "10987654321")
atgriešanās 403;
pārtraukums;
2. metode: Valid_Referers metode
Derīgas atsauces ir visērtākā un plaši atzītā metode, kā viegli bloķēt nederīgus atsaucējus. Tas satur tikai divas rindas salīdzinājumā ar iepriekšējo metodi un ir ļoti elastīgs. Tomēr tas ir nedaudz grūti sagremojams, jo tas ietver regulāras izteiksmes un citu mehānismu, lai bloķētu nederīgu atsaucēju pieprasījumus.
- Kopējiet šo koda fragmentu starp un pašā galvenās atrašanās vietas bloka pašā sākumā.
- Nomainiet domēnu vārdu sarakstu ar atļautajiem domēnu nosaukumiem, piemēram, google, bing vai saviem domēniem utt.
- Saglabājiet un aizveriet noklusējuma failu un pēc tam izpildiet 3, 4 darbības fāzē “Sagatavošana”, lai izmaiņas stātos spēkā.
valid_referers neviens nav bloķējis servera_nosaukumus
*.Linux.com linux.* www.Linux.com / about /~ \.Linux \.;
if ($ invalid_referer)
atgriešanās 403;
Tam galvenokārt ir divi kodu bloki: valid_referers un nosacītā izteiksme ar mainīgo invalid_referer. Pēc noklusējuma šis koda bloks tiek izmantots starp un pašā atrašanās vietas bloka sākumā pirms jebkura cita koda izpildes, taču to var izmantot arī jebkurā citā vietā, piemēram, starp atrašanās vietas koda bloku ar regulārām izteiksmēm noteikt konkrētus failu formātus, lai bloķēšana būtu piemērota iepriekšminētajiem failu formātiem, kā tas ir 1. metodē. Kā paskaidrots iepriekš, metodē ir tikai divi kodu bloki, pirmajā kodu blokā ir 3 atslēgvārdi, pirmais ir “neviens”, ja HTTP pieprasījumā nav atsauces lauka, otrais tiek “bloķēts”, kad tiek izdzēsts atsauces lauks jebkura vidējā puse, piemēram, starpniekserveris, ugunsmūris utt., trešais atslēgvārds ir derīgu domēna vārdu norādīšana.
Kad domēna nosaukums sākas ar simbolu “~”, tas tiek uzskatīts par regulāru izteiksmi, un tādējādi var izmantot ļoti sarežģītus modeļus, taču to var būt grūti saprast, ja parastās izteiksmes nav labi zināmas. Ja valid_referers priekšrakstā nav izpildīts neviens no nosacījumiem, mainīgais invalid_referer tiek iestatīts uz tukšu virkni, pretējā gadījumā tas tiek iestatīts uz 1, ko tas nozīmē, ja gaidāmajā pieprasījumā nav neviena atsauces lauka vai ja nginx identificēja, ka atsauces lauks ir noņemts ko veic ugunsmūris vai starpniekserveris, vai, ja novirzītāja lauks ir iestatīts uz norādītajiem domēniem (derīgs domēnu vārdu saraksts), nederīgs atsauces mainīgais tiek iestatīts kā tukša virkne un tādējādi tā, ja nosacījums netiek izpildīts. Tomēr, ja pieprasījums nāk no domēna, kas izteiksmē valid_referers nav norādīts kā derīgs domēns, tas tiek bloķēts.
SECINĀJUMS
Lūdzu, noteikti apsveriet šo saturu un novērsiet ātro saišu izveidi savās Nginx mitinātajās vietnēs.