Junior
Kam naudojamas Nginx?
sobes.tech AI
Atsakymas iš AI
Nginx — aukštos našumo asinchroninis žiniatinklio serveris ir atgalinis proxy serveris, naudojamas:
- Statinių failų aptarnavimas: Greitas ir efektyvus HTML, CSS, JavaScript, vaizdų ir kitų statinių išteklių pateikimas. Dėl asinchroninės architektūros jis gali apdoroti daug vienu metu esančių ryšių su mažais ištekliais:
- Atgalinis proxy: Kliento užklausų perdavimas vienam ar keliems backend serveriams (programoms, API) ir atsakymų grąžinimas klientams. Tai leidžia subalansuoti apkrovą, didinti saugumą (paslėpti vidinę tinklo struktūrą), vykdyti SSL terminaciją:
- Našumo paskirstymas: Įeinančių užklausų paskirstymas tarp kelių serverių, siekiant padidinti prieinamumą ir mastelį. Palaiko įvairius paskirstymo algoritmus (pvz., round robin, least connections):
- Talpyklavimas: Statinių ir dinamiškų išteklių talpyklavimas, siekiant sumažinti apkrovą backend'ams ir pagreitinti atsaką:
- SSL/TLS terminacija: HTTPS srauto dešifravimas prieš perduodant jį į backend'ą, kas sumažina serverių apkrovą ir leidžia centralizuotai valdyti sertifikatus:
- Suspaudimas: Duomenų suspaudimas (pvz., Gzip) prieš siunčiant klientui, siekiant sumažinti srautą ir pagreitinti puslapių įkėlimą:
- Užklausų greičio apribojimas: Apsauga nuo perkrovos, ribojant užklausų skaičių iš vieno kliento tam tikru laikotarpiu:
- Veb-ugniasienė (WAF): Pagrindinė apsauga nuo dažniausiai pasitaikančių interneto atakų (pvz., SQL injekcijos, XSS):
# Pavyzdinė konfigūracija statiniams failams ir API
server {
listen 80;
server_name example.com; # Domeno vardas
location / {
root /var/www/html; # Statinių failų kelias
index index.html;
}
location /api/ {
proxy_pass http://backend_server:8080; # API užklausų perdavimas kitam serveriui
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}