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:
- 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.
- 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.
- 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í).
- Cacheovanie: Ukladanie do cache statických a dynamických zdrojov na zníženie záťaže backendov a zrýchlenie odozvy.
- 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.
- 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.
- 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.
- 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;
}
}