Kontaktirajte nas

info@serverion.com

Nazovite nas

+1 (302) 380 3902

Potpuni vodič za izgradnju sigurnog Nginx reverznog proxyja

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.

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:

  1. Sigurnosni zaglavlja:
    sudo nano /etc/nginx/snippets/security-headers.conf 
    Definirajte sigurnosne zaglavlja za poboljšanje zaštite:
    add_header X-Frame-Options "ISTO POČETAK"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; način=blok"; 
  2. Postavke proxyja:
    sudo nano /etc/nginx/snippets/proxy.conf 
    Optimizirajte duge streamove i spriječite spore odgovore:
    proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; 
  3. Ograničenja brzine:
    sudo nano /etc/nginx/snippets/rate-limit.conf 
    Ublažite prekomjerne zahtjeve:
    limit_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:

  1. Preuzmite .deb paket s Cloudflareove GitHub stranice.
  2. 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

hr