Kontakta oss

info@serverion.com

Komplett guide till att bygga en säker Nginx omvänd proxy

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.

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:

  1. Säkerhetsrubriker:
    sudo nano /etc/nginx/snippets/security-headers.conf 
    Definiera säkerhetsrubriker för att förbättra skyddet:
    add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; add_header X-XSS-Protection "1; mode=block"; 
  2. Proxyinställningar:
    sudo nano /etc/nginx/snippets/proxy.conf 
    Optimera långa strömmar och förhindra långsamma svar:
    proxy_connect_timeout 60s; proxy_send_timeout 60s; proxy_read_timeout 60s; 
  3. Hastighetsgränser:
    sudo nano /etc/nginx/snippets/rate-limit.conf 
    Minska överdrivna förfrågningar:
    limit_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:

  1. Ladda ner .deb paketet från Cloudflares GitHub-sida.
  2. 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.

Relaterade blogginlägg

sv_SE