Sobes.tech
Junior

Na čo sa používa Nginx?

sobes.tech AI

Odpoveď od AI

Nginx je vysoko výkonný asynchrónny webový server a reverzný proxy server, ktorý sa používa na:

  1. Obsluhu statických súborov: Rýchle a efektívne doručovanie HTML, CSS, JavaScript, obrázkov a ďalších statických zdrojov. Vďaka svojej asynchrónnej architektúre dokáže spracovať veľké množstvo súčasných pripojení s nízkou spotrebou zdrojov.
  2. Reverzný proxy: Presmerovanie požiadaviek klientov na jeden alebo viac backendových serverov (aplikácie, API) a vrátenie odpovedí klientom. To umožňuje vyvažovanie záťaže, zvýšenie bezpečnosti (skrytie vnútornej štruktúry siete) a vykonávanie SSL terminácie.
  3. Vyvažovanie záťaže: Rozdeľovanie prichádzajúcich požiadaviek medzi viacero serverov na zvýšenie dostupnosti a škálovateľnosti aplikácie. Podporuje rôzne algoritmy (napríklad, round robin, najmenej spojení).
  4. Cacheovanie: Ukladanie do cache statických a dynamických zdrojov na zníženie záťaže backendov a zrýchlenie odozvy.
  5. SSL/TLS terminácia: Dekódovanie HTTPS prevádzky pred jej odoslaním na backend, čo znižuje záťaž serverov aplikácií a umožňuje centralizované riadenie certifikátov.
  6. Komprimácia: Kompresia dát (napríklad, Gzip) pred ich odoslaním klientovi na zníženie prevádzky a zrýchlenie načítania stránok.
  7. Obmedzenie rýchlosti požiadaviek: Ochrana backendov pred preťažením obmedzením počtu požiadaviek od jednotlivého klienta za určité časové obdobie.
  8. Web Application Firewall (WAF): Základná ochrana pred bežnými webovými útokmi (napríklad, SQL injekcie, XSS).
# Príklad konfigurácie Nginx na obsluhu statických súborov a proxy API

server {
    listen 80;
    server_name example.com; # Názov domény

    location / {
        root /var/www/html; # Cesta k statickým súborom
        index index.html;
    }

    location /api/ {
        proxy_pass http://backend_server:8080; # Proxy požiadaviek API na iný server
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}