Sobes.tech
Junior

Milleks kasutatakse Nginx?

sobes.tech AI

Vastus AI-lt

Nginx — kõrge jõudlusega asünkroonne veebiserver ja tagasiside proxy-server, mida kasutatakse:

  1. Statiliste failide teenindamine: Kiire ja tõhus HTML, CSS, JavaScript, piltide ja teiste statiliste ressursside edastamine. Tänu asünkroonsele arhitektuurile saab ta töödelda palju samaaegseid ühendusi madala ressursikasutusega:
  2. Tagasiside proxy: Klientide päringute edastamine ühele või mitmele backend-serverile (rakendused, API) ning vastuste tagastamine klientidele. See võimaldab koormuse jaotamist, turvalisuse tõstmist (sisemise võrgu struktuuri varjamine), SSL-terminatsiooni:
  3. Koormuse jaotamine: Sisenevate päringute jaotamine mitme serveri vahel, et parandada kättesaadavust ja skaleeritavust. Toetab erinevaid jaotamisalgoritme (näiteks round robin, least connections):
  4. Puhverdamine: Statiliste ja dünaamiliste ressursside vahemällu salvestamine, et vähendada backend-ide koormust ja kiirendada vastamist:
  5. SSL/TLS-terminatsioon: HTTPS-liikluse dekrüpteerimine enne selle edastamist backend-ile, mis vähendab serverite koormust ja võimaldab sertifikaatide keskset haldamist:
  6. Surumaht: Andmete tihendamine (näiteks Gzip) enne saatmist kliendile, et vähendada liiklust ja kiirendada lehtede laadimist:
  7. Päringute kiiruse piiramine: Kaitse ülekoormuse eest, piirates ühe kliendi päringute arvu kindla aja jooksul:
  8. Veeb-tule (WAF): Põhiline kaitse levinud veebirünnakute eest (näiteks SQL-injektsioonid, XSS):
# Näidis konfiguratsioon statiliste failide ja API teenindamiseks

server {
    listen 80;
    server_name example.com; # Domeeninimi

    location / {
        root /var/www/html; # Statiliste failide tee
        index index.html;
    }

    location /api/ {
        proxy_pass http://backend_server:8080; # API päringute edastamine teisele serverile
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}