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:
- 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.
- 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.
- 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).
- Keširanje: Keširanje statičkih i dinamičkih resursa za smanjenje opterećenja backendova i ubrzanje odgovora.
- 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.
- Kompresija: Kompresija podataka (npr. Gzip) prije slanja klijentu radi smanjenja prometa i ubrzanja učitavanja stranica.
- Ograničenje brzine zahtjeva: Zaštita backendova od preopterećenja ograničavanjem broja zahtjeva od pojedinačnog klijenta u određenom vremenskom razdoblju.
- 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;
}
}