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:
- 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.
- 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.
- 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).
- 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.
- 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.
- 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.
- 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.
- 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;
}
}