Sobes.tech
Junior

Kam naudojamas Nginx?

sobes.tech AI

Atsakymas iš AI

Nginx — aukštos našumo asinchroninis žiniatinklio serveris ir atgalinis proxy serveris, naudojamas:

  1. 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:
  2. 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ą:
  3. 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):
  4. Talpyklavimas: Statinių ir dinamiškų išteklių talpyklavimas, siekiant sumažinti apkrovą backend'ams ir pagreitinti atsaką:
  5. SSL/TLS terminacija: HTTPS srauto dešifravimas prieš perduodant jį į backend'ą, kas sumažina serverių apkrovą ir leidžia centralizuotai valdyti sertifikatus:
  6. Suspaudimas: Duomenų suspaudimas (pvz., Gzip) prieš siunčiant klientui, siekiant sumažinti srautą ir pagreitinti puslapių įkėlimą:
  7. Užklausų greičio apribojimas: Apsauga nuo perkrovos, ribojant užklausų skaičių iš vieno kliento tam tikru laikotarpiu:
  8. 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;
    }
}