Technical Anshu Acasă › Tutoriale › Instalare Nginx Proxy Manager
🐳 Docker Reverse Proxy

Instalare Nginx Proxy Manager - Ghid de configurare de 2 minute

Serviciile dvs. se află în prezent la adrese urâte precum 192.168.1.50:8080. Nginx Proxy Manager le transformă în nume curate precum app.yourdomain.com cu HTTPS gratuit - instalat cu un fișier Docker Compose și gestionat dintr-un panou web simplu în loc de fișiere de configurare scrise de mână.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Instalare Nginx Proxy Manager - Ghid de configurare de 2 minute
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑Capitole

  1. Ce face un proxy invers - o singură ușă pentru toate serviciile dvs.
  2. De ce aveți nevoie înainte de a începe - Docker, un domeniu și porturi accesibile
  3. Îndreptați DNS-ul dvs. de domeniu către server înainte de a instala orice
  4. Creați folderul și fișierul docker-compose.yml
  5. Porniți Nginx Proxy Manager cu o singură comandă
  6. Prima conectare - pasul contului de administrator pe care toată lumea greșește
  7. Creați prima gazdă proxy, câmp cu câmp
  8. Obțineți certificatul gratuit Lets Encrypt HTTPS și activați Force SSL

📋 Prezentare generală și Ghid pas cu pas

1

De ce aveți nevoie înainte de a începe

Trei lucruri trebuie să existe înainte ca Nginx Proxy Manager (NPM) să poată funcționa. În primul rând, un server Linux sau un computer cu Docker și Docker Compose deja instalate și funcționale - NPM rulează ca un container, nu ca un program normal. În al doilea rând, un nume de domeniu al cărui DNS îl puteți edita, deoarece fiecare serviciu primește propriul său subdomeniu. În al treilea rând, routerul sau firewall-ul în cloud trebuie să poată redirecționa porturile 80 și 443 către această mașină.

📌 Despre „2 minute” din titlu: pornirea containerului în sine este cu adevărat rapidă - dar numai după ce Docker este deja instalat și pregătirea din acest ghid este finalizată. Pe o mașină nouă, acordați timpul potrivit pentru pașii de configurare, DNS și certificat; totalul sincer este mai mare de două minute.
⚠️ La o conexiune acasă în spatele CGNAT, redirecționarea portului nu poate funcționa deloc - nicio setare din interiorul NPM nu rezolvă acest lucru. Opțiunile sincere sunt atunci un IP public/static de la ISP-ul dvs., un mic VPS închiriat sau un instrument de tunel. Nu sări peste această verificare: jumătate din toate poveștile „NPM nu funcționează” sunt într-adevăr povești „porturile nu au ajuns niciodată la server”.
2

Mai întâi direcționați DNS-ul dvs. de domeniu către server

NPM direcționează traficul după nume, iar Lets Encrypt emite certificate doar pentru nume care indică, probabil, mașina dvs. - așa că numele trebuie să se rezolve înainte de a construi ceva pe el. La registratorul sau gazda DNS, adăugați o înregistrare A: Numele este doar cuvântul subdomeniului (de exemplu, aplicație), iar Valoarea este adresa IP publică a serverului dvs. Fiecare serviciu are propria sa înregistrare și toți pot indica același IP - NPM separă serviciile ulterior, după nume. Setați un TTL scurt, cum ar fi 300 de secunde în timpul testării, astfel încât greșelile să dispară în câteva minute în loc de ore.

Demonstrați-o înainte de a continua: verificați dacă numele se rezolvă la IP-ul dvs. public dintr-o rețea externă (de exemplu, de pe telefonul cu Wi-Fi oprit). Solicitarea unui certificat împotriva deșeurilor DNS stricate Permite încercările de criptare, iar eșecurile repetate vă pot limita pentru ore. Ordinea contează: mai întâi DNS, al doilea gazdă proxy, al treilea certificat.

3

Creați dosarul și fișierul compus

Creați un folder pentru NPM pe server și salvați fișierul de mai jos în el ca docker-compose.yml. Acest singur fișier este instalarea completă. Numele imaginii este imaginea oficială a comunității. Porturile 80 și 443 sunt ușile publice, portul 81 este panoul de administrare și cele două volume sunt locul în care se află întreaga configurație: ./data deține baza de date cu toate gazdele proxy, iar ./letsencrypt deține certificatele dvs. Pierdeți acele două foldere și pierdeți întreaga configurație - faceți o copie de rezervă după ce lucrurile funcționează.

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

Linia repornire: unless-stop aduce NPM înapoi automat după o repornire.

4

Porniți Nginx Proxy Manager

Din interiorul acelui folder, executați comanda de pornire. Docker descarcă imaginea și pornește containerul în fundal.

Terminal
docker compose up -d

Verificați dacă funcționează:

Terminal
docker ps

Ar trebui să vedeți containerul listat cu porturile 80, 443 și 81. Pe un server mic, prima pornire durează un minut sau două în timp ce baza de date este creată. Dacă containerul continuă să repornească, jurnalele arată motivul într-un limbaj simplu:

Terminal
docker compose logs

De nouă ori din zece o buclă de repornire este un port deja folosit de altceva pe gazdă - de obicei, un server web vechi încă rulează.

5

Prima conectare - Securizează imediat contul de administrator

Deschideți panoul de administrare într-un browser din propria rețea:

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

Faceți acest lucru în primul minut. În funcție de versiune, NPM fie vă solicită să înlocuiți binecunoscutele detalii ale administratorului de primă conectare cu propria dvs. e-mail și o parolă puternică, fie - în versiunile mai noi fără cont implicit - prima persoană care deschide pagina de administrare creează administratorul. În orice caz, regula este aceeași: configurați-vă propriul cont de administrator în momentul în care containerul pornește, înainte de a crea orice altceva, și utilizați o cutie poștală reală - e-mailuri NPM care se adresează despre problemele legate de certificat.

⚠️ Nu lăsați niciodată portul 81 accesibil public în timp ce „terminați-l mai târziu”. Oricine de pe internet care găsește mai întâi panoul deține proxy-ul tău. Păstrați panoul de administrare numai în propria rețea.
6

Creați-vă prima gazdă proxy

În NPM deschideți Gazde → Gazde proxy → Adăugați gazdă proxy și completați formularul ca o singură propoziție - „acest nume merge la acel serviciu intern”:

Nume de domenii: app.yourdomain.com - numele public exact de la Pasul 2, care trebuie deja rezolvat pe serverul dvs.
Schemă: http pentru majoritatea aplicațiilor de acasă și de la birou. Schema descrie conexiunea dintre NPM și serviciul intern, nu ceea ce folosesc vizitatorii - NPM se ocupă de criptarea publică la ușă. Alegeți https aici numai atunci când aplicația internă în sine deservește HTTPS.
Redirecționați numele de gazdă/IP: adresa internă a serviciului, de exemplu 192.168.1.50.
Forward Port: portul pe care serviciul ascultă efectiv, de exemplu 8080 - nu 80 sau 443; acestea sunt ușile NPM, nu ale serviciului.

Activați Blocați exploatările comune, apoi Salvați. Testați imediat prin deschiderea numelui într-un browser - ideal de pe telefonul dvs. cu Wi-Fi oprit, astfel încât să testați calea publică reală.

✅ Un 502 Bad Gateway de la NPM este un indicator, nu un eșec: înseamnă că lumea exterioară a ajuns perfect la NPM și doar ultimul hop intern - numele de gazdă sau port - este greșit. Remediați acel câmp, nu întreaga configurație. Încă o capcană: dacă serviciul rulează într-un alt container Docker, localhost este greșit (în interiorul containerului NPM, localhost înseamnă NPM însuși) - utilizați IP-ul LAN al serverului cu portul publicat sau puneți ambele containere în aceeași rețea Docker și utilizați numele containerului.
7

Obțineți certificatul gratuit Lets Encrypt HTTPS

Faceți acest lucru numai după ce gazda simplă de la Pasul 6 funcționează deja - HTTPS pe o gazdă defectă vă oferă o gazdă defectă cu un certificat și de două ori locurile în care să căutați defecțiunea. Deschideți aceeași gazdă proxy, accesați fila SSL, setați Certificat SSL la Solicitați un nou certificat SSL, activați Forțare SSL și Asistență HTTP/2, sunteți de acord cu Termenii și condițiile Lets Encrypt și Salvați. Reîncărcați site-ul - browserul ar trebui să arate acum lacătul pe https.

Cum funcționează: Lets Encrypt demonstrează că controlați numele, cerând serverului dvs., prin internetul public de pe portul 80, să arate un jeton unic (provocarea HTTP-01). De aceea, DNS care indică către tine și un port accesibil 80 sunt nenegociabile - eșuează oricare dintre ele și cererea eșuează, iar eroarea este în configurare, niciodată în Lets Encrypt. Force SSL redirecționează automat fiecare vizitator http către https; fără ea ușa necriptată rămâne deschisă lângă cea criptată.

📌 Certificatele sunt valabile 90 de zile, iar NPM le reînnoiește automat, de obicei cu aproximativ o lună înainte de expirare, folosind aceeași dovadă de port-80. Dacă o reînnoire eșuează vreodată, verificați mai întâi cauzele plictisitoare: DNS-ul a fost schimbat, redirecționarea routerului a fost eliminată sau portul 80 a fost blocat. Activați HSTS numai după ce un serviciu este stabilit și reînnoirile sunt dovedite - este o promisiune puternică pe care browserele și-o rețin de luni de zile.

🏷️Variabile și cuvinte cheie pentru căutarea subiectelor

🔍 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
🎙️ Transcriere completă — atingeți pentru a extinde

__TOK_34__

__TOK_35__

__TOK_36__

❓ Întrebări frecvente

Este acest tutorial 100% gratuit de urmat?

__TOK_37__

Pot începătorii să urmeze acest ghid?

__TOK_38__

Unde pot pune întrebări dacă rămân blocat?

__TOK_39__

🚀 Urmărește tutorialul complet pe YouTube

__TOK_40__

__TOK_41__

▶️ Urmăriți videoclipul complet
Acest tutorial se bazează pe videoclipul de instalare Nginx Proxy Manager de la Tehnical Anshu • Ați blocat la vreun pas? Întrebați în comentariile video - veți primi ajutor acolo 🙏