Technical Anshu Hem › Självstudier › Installation av Nginx Proxy Manager
🐳 Docker omvänd proxy

Installation av Nginx Proxy Manager - 2-minuters installationsguide

Dina tjänster finns för närvarande på fula adresser som 192.168.1.50:8080. Nginx Proxy Manager förvandlar dem till rena namn som app.yourdomain.com med gratis HTTPS - installerad med en Docker Compose-fil och hanteras från en enkel webbpanel istället för handskrivna konfigurationsfiler.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Installation av Nginx Proxy Manager - 2-minuters installationsguide
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑Kapitel

  1. Vad en omvänd proxy gör - en dörr för alla dina tjänster
  2. Vad du behöver innan du börjar - Docker, en domän och portar som kan nås
  3. Peka din domän-DNS till servern innan du installerar något
  4. Skapa mappen och filen docker-compose.yml
  5. Starta Nginx Proxy Manager med ett kommando
  6. Första inloggningen – adminkontosteget alla gör fel
  7. Skapa din första proxyvärd fält för fält
  8. Hämta det kostnadsfria Lets Encrypt HTTPS-certifikatet och aktivera Force SSL

📋 Översikt och steg-för-steg-guide

1

Vad du behöver innan du börjar

Tre saker måste finnas innan Nginx Proxy Manager (NPM) kan fungera. För det första, en Linux-server eller PC med Docker och Docker Compose redan installerade och fungerar - NPM körs som en container, inte som ett normalt program. För det andra, ett domännamn vars DNS du kan redigera, eftersom varje tjänst får sin egen underdomän. För det tredje måste din router eller molnbrandvägg kunna vidarebefordra portarna 80 och 443 till den här maskinen.

📌 Om de "2 minuterna" i rubriken: själva containerstarten är genuint snabb - men bara när Docker redan är installerad och förberedelserna i den här guiden är klara. På en ny dator, ge rätt tid för installations-, DNS- och certifikatstegen; den ärliga summan är längre än två minuter.
⚠️ På en hemanslutning bakom CGNAT kan portvidarebefordran inte fungera alls - ingen inställning i NPM fixar det. De ärliga alternativen är då en offentlig/statisk IP från din ISP, en liten hyrd VPS eller ett tunnelverktyg istället. Hoppa inte över den här kontrollen: hälften av alla "NPM fungerar inte"-historier är verkligen "portarna nådde aldrig servern"-historier.
2

Rikta din domän-DNS till servern först

NPM dirigerar trafik efter namn, och Lets Encrypt utfärdar certifikat endast för namn som bevisligen pekar på din maskin - så namnet måste lösas innan du bygger något på det. Hos din registrar eller DNS-värd lägger du till en A-post: Namnet är endast underdomänordet (till exempel app) och värdet är din servers offentliga IP-adress. Varje tjänst får sin egen post, och de kan alla peka på samma IP - NPM separerar tjänsterna senare, med namn. Ställ in en kort TTL som 300 sekunder under testning, så att misstag bleknar på minuter istället för timmar.

Bevisa det innan du fortsätter: kontrollera att namnet löser sig till din offentliga IP från ett externt nätverk (till exempel från din telefon med Wi-Fi avstängt). Att begära ett certifikat mot trasigt DNS-avfall kan kryptera försök, och upprepade misslyckanden kan begränsa dig i timmar. Beställningen spelar roll: DNS först, proxy värd andra, certifikat tredje.

3

Skapa mappen och skrivfilen

Skapa en mapp för NPM på servern och spara filen nedan i den som docker-compose.yml. Denna enda fil är den kompletta installationen. Bildnamnet är den officiella community-bilden. Portar 80 och 443 är de offentliga dörrarna, port 81 är adminpanelen och de två volymerna är där hela din installation finns: ./data innehåller databasen med alla dina proxyvärdar och ./letsencrypt har dina certifikat. Förlora de två mapparna och du förlorar hela installationen - säkerhetskopiera dem när saker och ting är igång.

docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

Raden restart: unless-stopped tar tillbaka NPM automatiskt efter en omstart.

4

Starta Nginx Proxy Manager

Kör startkommandot inifrån den mappen. Docker laddar ner bilden och startar behållaren i bakgrunden.

Terminal
docker compose up -d

Kontrollera att den körs:

Terminal
docker ps

Du bör se behållaren listad med portarna 80, 443 och 81. På en liten server tar den första starten en minut eller två medan databasen skapas. Om behållaren fortsätter att starta om visar loggarna orsaken på vanligt språk:

Terminal
docker compose logs

Nio gånger av tio är en omstartsslinga en port som redan används av något annat på värden - vanligtvis en gammal webbserver som fortfarande körs.

5

Första inloggningen - Säkra administratörskontot omedelbart

Öppna adminpanelen i en webbläsare i ditt eget nätverk:

Browser Address Bar
http://your-server-ip:81

Gör detta under den första minuten. Beroende på bygget ber NPM dig antingen att ersätta de välkända administratörsuppgifterna för första inloggning med din egen e-postadress och ett starkt lösenord, eller - på nyare versioner utan standardkonto - den första personen som öppnar adminsidan skapar administratören. Hur som helst är regeln densamma: skapa ditt eget administratörskonto i samma ögonblick som behållaren startar, innan du skapar något annat, och använd en riktig brevlåda - NPM-e-postmeddelanden som tar upp certifikatproblem.

⚠️ Lämna aldrig port 81 tillgänglig för allmänheten medan du "avslutar den senare". Alla på internet som hittar panelen först äger din proxy. Ha bara administratörspanelen i ditt eget nätverk.
6

Skapa din första proxyvärd

I NPM öppnar du Värdar → Proxyvärdar → Lägg till proxyvärd och fyller i formuläret som en mening - "det här namnet går till den interna tjänsten":

Domännamn: app.yourdomain.com - det exakta offentliga namnet från steg 2, som redan måste lösas till din server.
Schema: http för de flesta hem- och kontorsappar. Schema beskriver kopplingen mellan NPM och den interna tjänsten, inte vad besökarna använder - NPM hanterar den offentliga krypteringen vid dörren. Välj https här endast när själva den interna appen serverar HTTPS.
Vidarebefordra värdnamn / IP: tjänstens interna adress, till exempel 192.168.1.50.
Forward Port: porten tjänsten faktiskt lyssnar på, till exempel 8080 - inte 80 eller 443; det är NPM:s dörrar, inte tjänstens.

Aktivera Blockera vanliga utnyttjanden och sedan Spara. Testa omedelbart genom att öppna namnet i en webbläsare - helst från din telefon med Wi-Fi avstängt, så att du testar den verkliga offentliga sökvägen.

✅ En 502 Bad Gateway från NPM är en vägvisare, inte ett misslyckande: det betyder att omvärlden nådde NPM perfekt och att endast det sista interna hoppet - värdnamn eller port - är fel. Fixa det fältet, inte hela installationen. En fälla till: om tjänsten körs i en annan Docker-container är localhost fel (inuti NPM:s container betyder localhost själva NPM) - använd serverns LAN-IP med den publicerade porten, eller lägg båda behållarna på samma Docker-nätverk och använd containernamnet.
7

Skaffa Free Lets Encrypt HTTPS-certifikatet

Gör detta först efter att den vanliga värden från steg 6 redan fungerar - HTTPS på en trasig värd ger dig en trasig värd med ett certifikat och dubbelt så många platser att leta efter felet. Öppna samma proxyvärd, gå till fliken SSL, ställ in SSL-certifikat på Begär ett nytt SSL-certifikat, aktivera Force SSL och HTTP/2 Support, godkänn användarvillkoren för Lets Encrypt och spara. Ladda om sajten - webbläsaren ska nu visa hänglåset på https.

Hur det fungerar: Lets Encrypt bevisar att du kontrollerar namnet genom att be din server, över det offentliga internet på port 80, att visa en engångstoken (HTTP-01-utmaningen). Det är därför DNS som pekar på dig och en port 80 som kan nås är icke förhandlingsbara - misslyckas med någon av dem och begäran misslyckas, och felet finns i installationen, aldrig i Lets Encrypt. Force SSL omdirigerar varje http-besökare till https automatiskt; utan den förblir den okrypterade dörren öppen bredvid den krypterade.

📌 Certifikat lever i 90 dagar och NPM förnyar dem automatiskt, vanligtvis ungefär en månad innan utgången, med samma port-80-bevis. Om en förnyelse misslyckas, kontrollera först de tråkiga orsakerna: DNS ändrades, routervidarebefordran togs bort eller port 80 blockerades. Aktivera HSTS endast när en tjänst är avklarad och förnyelser har bevisats - det är ett starkt löfte som webbläsare kommer ihåg i månader.

🏷️Ämnessökvariabler och nyckelord

🔍 Nginx Proxy Manager 🔍 Reverse Proxy 🔍 Docker Compose 🔍 Lets Encrypt 🔍 Free HTTPS 🔍 Proxy Host 🔍 TechnicalAnshu 🔍 Self Hosting 🔍 Subdomain Setup 🔍 Port 80 443 81 🔍 Force SSL 🔍 Home Server
🎙️ Fullständig transkription – tryck för att expandera

__TOK_34__

__TOK_35__

__TOK_36__

❓ Vanliga frågor

Är denna handledning 100 % gratis att följa?

__TOK_37__

Kan nybörjare följa den här guiden?

__TOK_38__

Var kan jag ställa frågor om jag fastnar?

__TOK_39__

🚀 Se hela handledningen på YouTube

__TOK_40__

__TOK_41__

▶️ Se hela videon
Den här handledningen är baserad på Technical Anshus Nginx Proxy Manager Installationsvideo • Har du fastnat i något steg? Fråga i videokommentarerna — du får hjälp där 🙏