Junior
Milleks kasutatakse Nginx?
sobes.tech AI
Vastus AI-lt
Nginx — kõrge jõudlusega asünkroonne veebiserver ja tagasiside proxy-server, mida kasutatakse:
- 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:
- 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:
- Koormuse jaotamine: Sisenevate päringute jaotamine mitme serveri vahel, et parandada kättesaadavust ja skaleeritavust. Toetab erinevaid jaotamisalgoritme (näiteks round robin, least connections):
- Puhverdamine: Statiliste ja dünaamiliste ressursside vahemällu salvestamine, et vähendada backend-ide koormust ja kiirendada vastamist:
- SSL/TLS-terminatsioon: HTTPS-liikluse dekrüpteerimine enne selle edastamist backend-ile, mis vähendab serverite koormust ja võimaldab sertifikaatide keskset haldamist:
- Surumaht: Andmete tihendamine (näiteks Gzip) enne saatmist kliendile, et vähendada liiklust ja kiirendada lehtede laadimist:
- Päringute kiiruse piiramine: Kaitse ülekoormuse eest, piirates ühe kliendi päringute arvu kindla aja jooksul:
- 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;
}
}