Sobes.tech
Junior

Mire használják az Nginx-et?

sobes.tech MI

Válasz az MI-től

Az Nginx egy magas teljesítményű aszinkron webkiszolgáló és fordított proxy szerver, amelyet a következőkhez használnak:

  1. Statikus fájlok kiszolgálása: Gyors és hatékony HTML, CSS, JavaScript, képek és más statikus erőforrások szállítása. Aszinkron architektúrájának köszönhetően nagy számú egyidejű kapcsolatot képes kezelni alacsony erőforrás-felhasználással.
  2. Fordított proxy: A kliens kéréseinek továbbítása egy vagy több backend szerverhez (alkalmazások, API-k), és a válaszok visszaküldése a klienseknek. Ez lehetővé teszi a terheléselosztást, a biztonság növelését (a belső hálózati struktúra elrejtése) és az SSL terminálást.
  3. Terheléselosztás: A bejövő kérések elosztása több szerver között az alkalmazás rendelkezésre állásának és skálázhatóságának növelése érdekében. Támogat különböző algoritmusokat (pl. round robin, legkevesebb kapcsolatok).
  4. Gyorsítótárazás: Statikus és dinamikus erőforrások gyorsítótárazása a backend terhelésének csökkentése és a válaszidő növelése érdekében.
  5. SSL/TLS terminálás: A HTTPS forgalom dekódolása, mielőtt a backendhez továbbítanák, ez csökkenti a szerverek terhelését és lehetővé teszi a tanúsítványok központi kezelését.
  6. Tömörítés: Az adatok tömörítése (pl. Gzip) a kliens felé történő küldés előtt, a forgalom csökkentése és az oldalbetöltés gyorsítása érdekében.
  7. Kérések sebességkorlátozása: A backend-ek védelme túlterhelés ellen, a kérések számának korlátozása egy adott időszakon belül egy adott kliens részéről.
  8. Web alkalmazás tűzfal (WAF): Alapvető védelem a gyakori webes támadások ellen (pl. SQL injekciók, XSS).
# Példa konfiguráció Nginx-hez statikus fájlok kiszolgálására és API proxy-ra

server {
    listen 80;
    server_name example.com; # Domain név

    location / {
        root /var/www/html; # Statikus fájlok elérési útja
        index index.html;
    }

    location /api/ {
        proxy_pass http://backend_server:8080; # API kérések proxyzása más szerverre
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}