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.
sbb-itb-59e1987
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:
- Sikkerhedsoverskrifter:
Definer sikkerhedsoverskrifter for at forbedre beskyttelsen:sudo nano /etc/nginx/snippets/security-headers.confadd_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; - Proxyindstillinger:
Optimer lange streams og undgå langsomme responser:sudo nano /etc/nginx/snippets/proxy.confproxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; - Hastighedsgrænser:
Reducer overdrevne anmodninger:sudo nano /etc/nginx/snippets/rate-limit.conflimit_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:
- Download
.debpakke fra Cloudflares GitHub-side. - 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.