Komplett guide till att bygga en säker Nginx omvänd proxy
Att skapa en säker, pålitlig och skalbar omvänd proxy är avgörande för företag och IT-proffs som hanterar webbplatser med hög trafik eller komplexa applikationer. Nginx, en webbserver med öppen källkod och omvänd proxy, är en kraftfull lösning för att dirigera, optimera och säkra trafik till dina backend-tjänster. I den här guiden går vi igenom processen för att konfigurera en robust omvänd proxy med Nginx på Ubuntu 24.04, och täcker viktiga steg som TLS-kryptering, hastighetsbegränsning och integration med Cloudflare.
Om du hanterar webbplatser, e-handelsplattformar eller medieservrar på företagsnivå, kommer den här guiden att ge dig möjlighet att förbättra prestanda, säkerställa drifttid och skydda din infrastruktur från sårbarheter.
Vad är en Nginx omvänd proxy?
En Nginx omvänd proxy fungerar som en mellanliggande server mellan klienter och backend-tjänster. Den vidarebefordrar klientförfrågningar till lämplig backend-server, vilket optimerar belastningsfördelningen, förbättrar säkerheten och aktiverar funktioner som cachning, SSL-terminering och trafikfiltrering. Denna konfiguration är särskilt användbar för att hosta medieservrar, applikationer för flera webbplatser och tjänster bakom brandväggar.
sbb-itb-59e1987
Varför du behöver en omvänd proxy
En omvänd proxy ger flera viktiga fördelar:
- Förbättrad säkerhetDöljer backend-servrars IP-adresser och aktiverar kryptering via TLS/SSL.
- LastbalanseringFördelar trafiken jämnt över flera backend-servrar.
- OptimeringMinskar latens och förbättrar resurseffektiviteten.
- skalbarhetGör det enklare att hantera scenarier med hög trafik.
- Enkel hanteringFörenklar konfigurationen av flera backend-tjänster bakom en enhetlig domän.
I den här handledningen visar vi hur man:
- Konfigurera Nginx som en omvänd proxy.
- Säkra din installation med Let's Encrypt TLS-certifikat.
- Konfigurera avancerade optimeringar som hastighetsbegränsning och vidarebefordran av förfrågningar.
- Integrera Cloudflare för att kringgå internetleverantörens portbegränsningar.
Steg 1: Installera Nginx och Certbot på Ubuntu 24.04
Uppdatera ditt system
Innan du installerar någon programvara, se till att ditt system är uppdaterat:
sudo apt uppdatering && sudo apt uppgradering Installera Nginx och Certbot
Använd följande kommandon för att installera Nginx och Certbot med Nginx-pluginet:
sudo apt installera nginx -y sudo apt installera certbot python3-certbot-nginx -y Verifiera installationen
Bekräfta att Nginx körs:
sudo systemctl status nginx För att testa åtkomsten, fastställ din servers IP-adress:
IP-adress Besök IP-adressen i en webbläsare. Om det lyckas ser du Nginx standardvälkomstsida.
Steg 2: Konfigurera brandväggsregler
Aktivera okomplicerad brandvägg (UFW)
Med UFW kan du enkelt hantera brandväggsregler:
sudo ufw tillåter 'Nginx Full' sudo ufw tillåter OpenSSH sudo ufw aktivera Kontrollera statusen för din brandvägg för att säkerställa att rätt portar är öppna:
sudo ufw-status Steg 3: Konfigurera Nginx-proxykonfiguration
Skapa anpassade konfigurationsfiler
För bättre flexibilitet och säkerhet, använd snippetfiler för att lagra specifika konfigurationer. Skapa följande filer:
- Säkerhetsrubriker:
Definiera säkerhetsrubriker för att förbättra skyddet: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"; - Proxyinställningar:
Optimera långa strömmar och förhindra långsamma svar:sudo nano /etc/nginx/snippets/proxy.confproxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; - Hastighetsgränser:
Minska överdrivna förfrågningar:sudo nano /etc/nginx/snippets/rate-limit.conflimit_req_zone $binary_remote_addr zon=mingräns:10m hastighet=10r/s;
Inkludera utdrag i huvudkonfigurationen
Redigera den huvudsakliga Nginx-konfigurationen:
sudo nano /etc/nginx/nginx.conf Lägg till följande under http blockera:
inkludera /etc/nginx/snippets/*.conf; Starta om Nginx för att tillämpa ändringarna:
sudo systemctl ladda om nginx Steg 4: Konfigurera omvänd proxy för en backend-tjänst
Skapa en virtuell värd
Skapa en konfigurationsfil för din backend-tjänst:
sudo nano /etc/nginx/sites-available/jellyfin Exempelkonfiguration för en Jellyfin-medieserver:
server { lyssna 80; servernamn jelly.dindomän.com; plats / { proxy_pass http://10.10.0.112:8096; inkludera /etc/nginx/snippets/proxy.conf; } } Aktivera webbplatsen genom att skapa en symbolisk länk:
sudo ln -s /etc/nginx/sites-available/jellyfin /etc/nginx/sites-enabled/ Testa och ladda om Nginx:
sudo nginx -t sudo systemctl ladda om nginx Steg 5: Säkra din domän med Let's Encrypt TLS
För att säkra din domän, använd Let's Encrypt för att utfärda gratis certifikat:
sudo certbot --nginx -d jelly.yourdomain.com Certbot konfigurerar automatiskt SSL i din Nginx-webbplatsfil. För att säkerställa att certifikat förnyas automatiskt, verifiera att systemd-timern är aktiv:
sudo systemctl list-timers | grep certbot Steg 6: Integrera Cloudflare för ytterligare säkerhet och ISP-portbypass
Installera Cloudflared
Cloudflared skapar en säker tunnel för att dirigera trafik genom Cloudflare och kringgår internetleverantörens begränsningar på portarna 80 och 443:
- Ladda ner
.debpaketet från Cloudflares GitHub-sida. - Installera paketet:
sudo dpkg -i cloudflared-version.deb
Konfigurera en tunnel
Autentisera med ditt Cloudflare-konto:
inloggning för Cloudflared-tunneln Skapa en ny tunnel:
molnutbländande tunnel skapa min tunnel Redigera Cloudflare-konfigurationsfilen:
sudo nano /etc/cloudflared/config.yml Exempelkonfiguration:
tunnel: my-tunnel credentials-file: /home/user/.cloudflared/my-tunnel.json ingress: - värdnamn: jelly.dindomän.com service: http://localhost:8096 - service: http_status:404 Starta och aktivera tunneltjänsten:
sudo systemctl aktivera cloudflared sudo systemctl starta cloudflared Viktiga takeaways
- Nginx omvänd proxyViktigt för att dirigera trafik säkert och optimera backend-tjänster.
- TLS-krypteringAnvänd Let's Encrypt för att säkra dina domäner med gratis SSL-certifikat.
- BrandväggsreglerÖppna nödvändiga portar för HTTP (80), HTTPS (443) och SSH (22).
- SäkerhetsoptimeringImplementera headers och hastighetsbegränsning för att förhindra attacker.
- Cloudflare-integrationAnvänd Cloudflared-tunnlar för säker och internetleverantörsvänlig hosting.
- AutomatiseringSystemd-timers säkerställer att SSL-certifikat förnyas automatiskt.
Slutsats
Att konfigurera en säker Nginx omvänd proxy kräver noggrann konfiguration och noggrannhet, men belöningarna är väl värda ansträngningen. Oavsett om du är värd för medieservrar som Jellyfin eller hanterar företagsapplikationer, utrustar den här guiden dig med verktygen och kunskapen för att bygga en mycket säker och effektiv miljö. Med funktioner som TLS, Cloudflare-tunnlar och avancerade optimeringar är din infrastruktur redo för moderna krav.
Källa: "Sluta exponera dina appar! Bygg en säker Nginx omvänd proxy!" – KeepItTechie, YouTube, 19 augusti 2025 – https://www.youtube.com/watch?v=MzbhS2S7H_g
Användning: Inbäddad som referens. Korta citat används för kommentarer/granskning.