Sobes.tech
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:

  1. 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ů.
  2. 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.
  3. 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í).
  4. Caching: Ukládání statických a dynamických zdrojů do mezipaměti pro snížení zátěže backendů a urychlení odezvy.
  5. 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ů.
  6. Kompresce: Komprese dat (například Gzip) před jejich odesláním klientovi pro snížení provozu a urychlení načítání stránek.
  7. 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í.
  8. 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;
    }
}