Potpuni vodič za izgradnju sigurnog Nginx reverznog proxyja
Izrada sigurnog, pouzdanog i skalabilnog obrnutog proxyja ključna je za tvrtke i IT stručnjake koji upravljaju web stranicama s velikim prometom ili složenim aplikacijama. Nginx, web poslužitelj otvorenog koda i obrnuti proxy, moćno je rješenje za usmjeravanje, optimizaciju i osiguranje prometa prema vašim backend uslugama. U ovom vodiču provest ćemo kroz proces postavljanja robusnog obrnutog proxyja pomoću Nginxa na Ubuntu 24.04, pokrivajući ključne korake poput TLS enkripcije, ograničavanja brzine i integracije s Cloudflareom.
Ako upravljate web-stranicama na razini poduzeća, platformama za e-trgovinu ili medijskim poslužiteljima, ovaj će vam vodič omogućiti poboljšanje performansi, osiguranje neprekidnog rada i zaštitu vaše infrastrukture od ranjivosti.
Što je Nginx obrnuti proxy?
Nginx obrnuti proxy djeluje kao posrednički poslužitelj između klijenata i pozadinskih usluga. Prosljeđuje klijentske zahtjeve odgovarajućem pozadinskom poslužitelju, optimizirajući raspodjelu opterećenja, poboljšavajući sigurnost i omogućujući značajke poput predmemoriranja, SSL prekida i filtriranja prometa. Ova postavka je posebno korisna za hosting medijskih poslužitelja, aplikacija s više web-mjesta i usluga iza vatrozida.
sbb-itb-59e1987
Zašto vam je potreban obrnuti proxy
Obrnuti proxy pruža nekoliko ključnih prednosti:
- Poboljšana sigurnostSkriva IP adrese pozadinskih poslužitelja i omogućuje šifriranje putem TLS/SSL-a.
- Balansiranje opterećenja: Ravnomjerno raspoređuje promet na više pozadinskih poslužitelja.
- OptimizacijaSmanjuje latenciju i poboljšava učinkovitost resursa.
- skalabilnost: Olakšava upravljanje scenarijima s velikim prometom.
- Jednostavnost upravljanjaPojednostavljuje konfiguraciju više pozadinskih usluga iza ujedinjene domene.
U ovom tutorijalu ćemo pokazati kako:
- Postavite Nginx kao obrnuti proxy.
- Osigurajte svoju konfiguraciju pomoću Let's Encrypt TLS certifikata.
- Konfigurirajte napredne optimizacije poput ograničavanja brzine i prosljeđivanja zahtjeva.
- Integrirajte Cloudflare kako biste zaobišli ograničenja portova ISP-a.
Korak 1: Instaliranje Nginxa i Certbota na Ubuntu 24.04
Ažurirajte svoj sustav
Prije instaliranja bilo kakvog softvera, provjerite je li vaš sustav ažuriran:
ažuriranje sudo apt-a i nadogradnja sudo apt-a Instalirajte Nginx i Certbot
Za instalaciju Nginxa i Certbota s Nginx dodatkom koristite sljedeće naredbe:
sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y Provjerite instalaciju
Potvrdite da Nginx radi:
sudo systemctl status nginx Za testiranje pristupa, odredite IP adresu vašeg poslužitelja:
IP adresa Posjetite IP adresu u pregledniku. Ako uspijete, vidjet ćete zadanu Nginx početnu stranicu.
Korak 2: Konfiguriranje pravila vatrozida
Omogući nekomplicirani vatrozid (UFW)
UFW vam omogućuje jednostavno upravljanje pravilima vatrozida:
sudo ufw dopušta 'Nginx Full' sudo ufw dopušta OpenSSH sudo ufw dopušta Provjerite status svog vatrozida kako biste bili sigurni da su otvoreni ispravni portovi:
status sudo ufw-a Korak 3: Postavljanje konfiguracije Nginx proxyja
Izradite prilagođene konfiguracijske datoteke
Za veću fleksibilnost i sigurnost, koristite datoteke isječaka za pohranu specifičnih konfiguracija. Izradite sljedeće datoteke:
- Sigurnosni zaglavlja:
Definirajte sigurnosne zaglavlja za poboljšanje zaštite:sudo nano /etc/nginx/snippets/security-headers.confadd_header X-Frame-Options "ISTO POČETAK"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; način=blok"; - Postavke proxyja:
Optimizirajte duge streamove i spriječite spore odgovore:sudo nano /etc/nginx/snippets/proxy.confproxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; - Ograničenja brzine:
Ublažite prekomjerne zahtjeve:sudo nano /etc/nginx/snippets/rate-limit.conflimit_req_zone $binary_remote_addr zona=mylimit:10m brzina=10r/s;
Uključi isječke u glavnu konfiguraciju
Uredite glavnu Nginx konfiguraciju:
sudo nano /etc/nginx/nginx.conf Dodajte sljedeće ispod http blokirati:
uključi /etc/nginx/snippets/*.conf; Ponovo pokrenite Nginx da biste primijenili promjene:
sudo systemctl ponovno pokretanje nginxa Korak 4: Postavljanje obrnutog proxyja za backend uslugu
Izradite virtualni host
Izradite konfiguracijsku datoteku za svoju pozadinsku uslugu:
sudo nano /etc/nginx/sites-available/jellyfin Primjer konfiguracije za Jellyfin medijski poslužitelj:
poslužitelj { slušaj 80; naziv_poslužitelja jelly.vasadomena.com; lokacija / { proxy_pass http://10.10.0.112:8096; uključuju /etc/nginx/snippets/proxy.conf; } } Omogućite stranicu stvaranjem simboličke veze:
sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ Testirajte i ponovno pokrenite Nginx:
sudo nginx -t sudo systemctl ponovno pokretanje nginxa Korak 5: Osiguravanje vaše domene pomoću Let's Encrypt TLS-a
Za zaštitu svoje domene koristite Let's Encrypt za izdavanje besplatnih certifikata:
sudo certbot --nginx -d jelly.yourdomain.com Certbot automatski konfigurira SSL u vašoj Nginx datoteci web-mjesta. Kako biste osigurali automatsko obnavljanje certifikata, provjerite je li systemd timer aktivan:
sudo systemctl lista-vremena | grep certbot Korak 6: Integriranje Cloudflarea za dodatnu sigurnost i zaobilaženje ISP porta
Instalirajte Cloudflared
Cloudflared stvara sigurni tunel za usmjeravanje prometa kroz Cloudflare, zaobilazeći ograničenja ISP-a na portovima 80 i 443:
- Preuzmite
.debpaket s Cloudflareove GitHub stranice. - Instalirajte paket:
sudo dpkg -i cloudflared-version.deb
Konfiguriraj tunel
Autentificirajte se sa svojim Cloudflare računom:
Prijava u tunel Cloudflareda Stvorite novi tunel:
tunel cloudflareda stvori moj-tunel Uredite konfiguracijsku datoteku Cloudflarea:
sudo nano /etc/cloudflared/config.yml Primjer konfiguracije:
tunel: my-tunnel credentials-file: /home/user/.cloudflared/my-tunnel.json ulaz: - naziv hosta: jelly.yourdomain.com usluga: http://localhost:8096 - usluga: http_status:404 Pokrenite i omogućite uslugu tunela:
sudo systemctl omogući cloudflared sudo systemctl pokreni cloudflared Ključni zahvati
- Nginx obrnuti proxyBitno za sigurno usmjeravanje prometa i optimizaciju pozadinskih usluga.
- TLS enkripcijaKoristite Let's Encrypt za zaštitu svojih domena besplatnim SSL certifikatima.
- Pravila zaštitnog zidaOtvorite potrebne portove za HTTP (80), HTTPS (443) i SSH (22).
- Optimizacija sigurnostiImplementirajte zaglavlja i ograničavanje brzine kako biste spriječili napade.
- Integracija s CloudflareomKoristite Cloudflared tunele za siguran hosting prilagođen ISP-ovima.
- AutomatizacijaSystemd tajmeri osiguravaju automatsko obnavljanje SSL certifikata.
Zaključak
Postavljanje sigurnog Nginx reverznog proxyja zahtijeva pažnju prema detaljima i pažljivu konfiguraciju, ali rezultati su vrijedni truda. Bez obzira na to hostirate li medijske poslužitelje poput Jellyfina ili upravljate poslovnim aplikacijama, ovaj vodič će vas opremiti alatima i znanjem za izgradnju visoko sigurnog i učinkovitog okruženja. Uz značajke poput TLS-a, Cloudflare tunela i naprednih optimizacija, vaša infrastruktura je spremna za moderne zahtjeve.
Izvor: "Prestanite otkrivati svoje aplikacije! Izgradite siguran Nginx obrnuti proxy!" – KeepItTechie, YouTube, 19. kolovoza 2025. – https://www.youtube.com/watch?v=MzbhS2S7H_g
Upotreba: Ugrađeno za referencu. Kratki citati korišteni za komentar/pregled.
Povezani postovi na blogu
- Ovladavanje Nginx konfiguracijama za optimalnu izvedbu web poslužitelja
- Ovladavanje NGINX konfiguracijom: Kako Serverion otključava uspjeh B2B web hostinga
- NGINX Config Rewind: Serverion oživljava izgubljenu umjetnost podešavanja proxy predmemorije
- Zaboravljena NGINX Config Frontier: Serverionov zaron u FastCGI Microcaching