Kontakt os

info@serverion.com

Ring til os

+1 (302) 380 3902

Komplet guide til at opbygge en sikker Nginx Reverse Proxy

Komplet guide til at opbygge en sikker Nginx Reverse Proxy

Det er afgørende for virksomheder og IT-professionelle, der administrerer hjemmesider med høj trafik eller komplekse applikationer, at oprette en sikker, pålidelig og skalerbar reverse proxy. Nginx, en open source-webserver og reverse proxy, er en kraftfuld løsning til at route, optimere og sikre trafik til dine backend-tjenester. I denne guide gennemgår vi processen med at konfigurere en robust reverse proxy ved hjælp af Nginx på Ubuntu 24.04 og dækker kritiske trin såsom TLS-kryptering, hastighedsbegrænsning og integration med Cloudflare.

Hvis du administrerer websteder, e-handelsplatforme eller medieservere på virksomhedsniveau, vil denne guide give dig mulighed for at forbedre ydeevnen, sikre oppetid og beskytte din infrastruktur mod sårbarheder.

Hvad er en Nginx omvendt proxy?

En Nginx reverse proxy fungerer som en mellemliggende server mellem klienter og backend-tjenester. Den videresender klientanmodninger til den relevante backend-server, optimerer belastningsfordelingen, forbedrer sikkerheden og aktiverer funktioner som caching, SSL-terminering og trafikfiltrering. Denne opsætning er især nyttig til hosting af medieservere, multi-site-applikationer og tjenester bag firewalls.

Hvorfor du har brug for en omvendt proxy

En omvendt proxy giver flere vigtige fordele:

  • Forbedret sikkerhedSkjuler backend-servernes IP-adresser og aktiverer kryptering via TLS/SSL.
  • LastbalanceringFordeler trafikken jævnt på tværs af flere backend-servere.
  • OptimeringReducerer latenstid og forbedrer ressourceeffektiviteten.
  • SkalerbarhedGør det nemmere at håndtere scenarier med høj trafik.
  • Nem administrationForenkler konfigurationen af flere backend-tjenester bag et samlet domæne.

I denne vejledning vil vi demonstrere, hvordan man:

  • Opsæt Nginx som en omvendt proxy.
  • Sikr din opsætning med Let's Encrypt TLS-certifikater.
  • Konfigurer avancerede optimeringer som hastighedsbegrænsning og videresendelse af anmodninger.
  • Integrer Cloudflare for at omgå internetudbyderens portbegrænsninger.

Trin 1: Installation af Nginx og Certbot på Ubuntu 24.04

Opdater dit system

Før du installerer software, skal du sørge for, at dit system er opdateret:

sudo apt opdatering && sudo apt opgradering 

Installer Nginx og Certbot

Brug følgende kommandoer til at installere Nginx og Certbot med Nginx-plugin'et:

sudo apt install nginx -y sudo apt install certbot python3-certbot-nginx -y 

Bekræft installation

Bekræft at Nginx kører:

sudo systemctl status nginx 

For at teste adgangen skal du bestemme din servers IP-adresse:

IP-adresse 

Besøg IP-adressen i en browser. Hvis det lykkes, vil du se standard Nginx-velkomstsiden.

Trin 2: Konfiguration af firewallregler

Aktivér ukompliceret firewall (UFW)

UFW giver dig mulighed for nemt at administrere firewallregler:

sudo ufw tillad 'Nginx Full' sudo ufw tillad OpenSSH sudo ufw enable 

Tjek status for din firewall for at sikre, at de korrekte porte er åbne:

sudo ufw status 

Trin 3: Opsætning af Nginx Proxy-konfiguration

Opret brugerdefinerede konfigurationsfiler

For bedre fleksibilitet og sikkerhed, brug kodestykkefiler til at gemme specifikke konfigurationer. Opret følgende filer:

  1. Sikkerhedsoverskrifter:
    sudo nano /etc/nginx/snippets/security-headers.conf 
    Definer sikkerhedsoverskrifter for at forbedre beskyttelsen:
    add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; 
  2. Proxyindstillinger:
    sudo nano /etc/nginx/snippets/proxy.conf 
    Optimer lange streams og undgå langsomme responser:
    proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; 
  3. Hastighedsgrænser:
    sudo nano /etc/nginx/snippets/rate-limit.conf 
    Reducer overdrevne anmodninger:
    limit_req_zone $binary_remote_addr zone=mingrænse:10m hastighed=10r/s; 

Inkluder snippets i hovedkonfigurationen

Rediger den primære Nginx-konfiguration:

sudo nano /etc/nginx/nginx.conf 

Tilføj følgende under http blok:

inkluder /etc/nginx/snippets/*.conf; 

Genstart Nginx for at anvende ændringerne:

sudo systemctl genindlæs nginx 

Trin 4: Opsætning af reverse proxy til en backend-tjeneste

Opret en virtuel vært

Opret en konfigurationsfil til din backend-tjeneste:

sudo nano /etc/nginx/sites-available/jellyfin 

Eksempelkonfiguration for en Jellyfin-medieserver:

server { lyt 80; servernavn jelly.ditdomæne.com; placering / { proxy_pass http://10.10.0.112:8096; inkluder /etc/nginx/snippets/proxy.conf; } } 

Aktivér webstedet ved at oprette et symbolsk link:

sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ 

Test og genindlæs Nginx:

sudo nginx -t sudo systemctl genindlæs nginx 

Trin 5: Sikring af dit domæne med Let's Encrypt TLS

For at sikre dit domæne skal du bruge Let's Encrypt til at udstede gratis certifikater:

sudo certbot --nginx -d jelly.yourdomain.com 

Certbot konfigurerer automatisk SSL i din Nginx-webstedsfil. For at sikre at certifikater fornyes automatisk, skal du kontrollere, at systemd-timeren er aktiv:

sudo systemctl liste-timere | grep certbot 

Trin 6: Integration af Cloudflare for yderligere sikkerhed og internetudbyderportbypass

Installer Cloudflared

Cloudflared opretter en sikker tunnel til at dirigere trafik gennem Cloudflare og omgår internetudbyderens begrænsninger på port 80 og 443:

  1. Download .deb pakke fra Cloudflares GitHub-side.
  2. Installer pakken:
    sudo dpkg -i cloudflared-version.deb 

Konfigurer en tunnel

Godkend med din Cloudflare-konto:

cloudflared tunnel login 

Opret en ny tunnel:

cloudflared tunnel opret min tunnel 

Rediger Cloudflare-konfigurationsfilen:

sudo nano /etc/cloudflared/config.yml 

Eksempelkonfiguration:

tunnel: my-tunnel legitimationsoplysninger-fil: /home/user/.cloudflared/my-tunnel.json ingress: - værtsnavn: jelly.ditdomæne.com service: http://localhost:8096 - service: http_status:404 

Start og aktiver tunneltjenesten:

sudo systemctl aktiver cloudflared sudo systemctl start cloudflared 

Nøgle takeaways

  • Nginx omvendt proxyEssentielt for sikker routing af trafik og optimering af backend-tjenester.
  • TLS-krypteringBrug Let's Encrypt til at sikre dine domæner med gratis SSL-certifikater.
  • FirewallreglerÅbn nødvendige porte for HTTP (80), HTTPS (443) og SSH (22).
  • SikkerhedsoptimeringImplementer headers og hastighedsbegrænsning for at forhindre angreb.
  • Cloudflare-integrationBrug Cloudflared-tunneler til sikker og internetudbydervenlig hosting.
  • AutomatiseringSystemd-timere sikrer, at SSL-certifikater fornyes automatisk.

Konklusion

Opsætning af en sikker Nginx reverse proxy kræver omhu og omhyggelig konfiguration, men belønningen er indsatsen værd. Uanset om du hoster medieservere som Jellyfin eller administrerer virksomhedsapplikationer, giver denne guide dig værktøjerne og den viden, der skal til for at opbygge et yderst sikkert og effektivt miljø. Med funktioner som TLS, Cloudflare-tunneler og avancerede optimeringer er din infrastruktur klar til moderne krav.

Kilde: "Stop med at afsløre dine apps! Byg en sikker Nginx Reverse Proxy!" – KeepItTechie, YouTube, 19. august 2025 – https://www.youtube.com/watch?v=MzbhS2S7H_g

Anvendelse: Indlejret til reference. Korte citater brugt til kommentarer/anmeldelse.

Relaterede blogindlæg

da_DK