Junior
K čemu se používá Nginx?
sobes.tech AI
Odpověď od AI
Nginx je vysoce výkonný asynchronní webový server a reverzní proxy server, který se používá pro:
- Obsluhu statických souborů: Rychlé a efektivní doručování HTML, CSS, JavaScriptu, obrázků a dalších statických zdrojů. Díky asynchronní architektuře může zvládnout velké množství současných připojení s nízkou spotřebou zdrojů.
- Reverzní proxy: Přeposílání požadavků klientů na jeden nebo více backendových serverů (aplikace, API) a vracení odpovědí klientům. To umožňuje vyvažování zátěže, zvýšení bezpečnosti (skrytí vnitřní struktury sítě) a provádění SSL terminace.
- Vyvažování zátěže: Rozdělení příchozích požadavků mezi více serverů za účelem zvýšení dostupnosti a škálovatelnosti aplikace. Podporuje různé algoritmy (například round robin, nejméně spojení).
- Caching: Ukládání statických a dynamických zdrojů do mezipaměti pro snížení zátěže backendů a urychlení odezvy.
- SSL/TLS terminace: Dekódování HTTPS provozu před jeho předáním na backend, což snižuje zátěž serverů aplikací a umožňuje centralizované řízení certifikátů.
- Kompresce: Komprese dat (například Gzip) před jejich odesláním klientovi pro snížení provozu a urychlení načítání stránek.
- Omezení rychlosti požadavků: Ochrana backendů před přetížením omezením počtu požadavků od jednoho klienta za určité časové období.
- Webový firewall (WAF): Základní ochrana před běžnými webovými útoky (například SQL injection, XSS).
# Příklad konfigurace Nginx pro obsluhu statických souborů a proxy API
server {
listen 80;
server_name example.com; # Název domény
location / {
root /var/www/html; # Cesta ke statickým souborům
index index.html;
}
location /api/ {
proxy_pass http://backend_server:8080; # Proxy požadavků API na jiný server
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}