Sobes.tech
Junior

Zašto se koristi Nginx?

sobes.tech АИ

Одговор од АИ

Nginx je visokoučinkovit asinhroni web poslužitelj i poslužitelj za obrnuti proxy, koji se koristi za:

  1. Posluživanje statičkih datoteka: Brza i učinkovita isporuka HTML, CSS, JavaScript, slika i drugih statičkih resursa. Zahvaljujući asinhronoj arhitekturi, može obrađivati veliki broj istovremenih veza s niskom potrošnjom resursa.
  2. Obrnuti proxy: Prosljeđivanje zahtjeva klijenata na jedan ili više backend poslužitelja (aplikacije, API-i) i vraćanje odgovora klijentima. To omogućava ravnotežu opterećenja, povećava sigurnost (skrivanje unutarnje strukture mreže) i omogućava SSL terminaciju.
  3. Ravnoteža opterećenja: Raspodjela ulaznih zahtjeva između više poslužitelja radi povećanja dostupnosti i skalabilnosti aplikacije. Podržava različite algoritme (npr. round robin, najmanje veza).
  4. Keširanje: Keširanje statičkih i dinamičkih resursa za smanjenje opterećenja backendova i ubrzanje odgovora.
  5. SSL/TLS terminacija: Dešifriranje HTTPS prometa prije nego što se pošalje na backend, čime se smanjuje opterećenje poslužitelja aplikacija i omogućava centralizirano upravljanje certifikatima.
  6. Kompresija: Kompresija podataka (npr. Gzip) prije slanja klijentu radi smanjenja prometa i ubrzanja učitavanja stranica.
  7. Ograničenje brzine zahtjeva: Zaštita backendova od preopterećenja ograničavanjem broja zahtjeva od pojedinačnog klijenta u određenom vremenskom razdoblju.
  8. Web vatrozid (WAF): Osnovna zaštita od uobičajenih web napada (npr. SQL injekcije, XSS).
# Primjer konfiguracije Nginx za posluživanje statičkih datoteka i proxy API

server {
    listen 80;
    server_name example.com; # Ime domene

    location / {
        root /var/www/html; # Put do statičkih datoteka
        index index.html;
    }

    location /api/ {
        proxy_pass http://backend_server:8080; # Proxy zahtjeva API na drugi poslužitelj
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}