Technical Anshu Strona główna › Poradniki › Instalacja menedżera proxy Nginx
🐳 Odwrotny serwer proxy Dockera

Instalacja menedżera proxy Nginx — 2-minutowy przewodnik konfiguracji

Twoje usługi znajdują się obecnie pod brzydkimi adresami, takimi jak 192.168.1.50:8080. Nginx Proxy Manager zamienia je w czyste nazwy, takie jak app.yourdomain.com z bezpłatnym HTTPS - instalowane za pomocą jednego pliku Docker Compose i zarządzane z prostego panelu internetowego zamiast ręcznie pisanych plików konfiguracyjnych.

✍️ Technical Anshu🐳 Docker Compose🎧 Multi-Language Audio
Instalacja menedżera proxy Nginx — 2-minutowy przewodnik konfiguracji
🎧 Multi-Language Audio: Video player [Settings] (⚙️) ➔ [Audio Track]

📑Rozdziały

  1. Co robi odwrotne proxy – jedne drzwi dla wszystkich Twoich usług
  2. Co jest potrzebne przed rozpoczęciem — Docker, domena i osiągalne porty
  3. Przed instalacją czegokolwiek skieruj DNS swojej domeny na serwer
  4. Utwórz folder i plik docker-compose.yml
  5. Uruchom Menedżera proxy Nginx jednym poleceniem
  6. Pierwsze logowanie – krok administratora, który wszyscy popełniają błędnie
  7. Utwórz swój pierwszy host proxy, pole po polu
  8. Zdobądź bezpłatny certyfikat Lets Encrypt HTTPS i włącz Force SSL

📋Omówienie i przewodnik krok po kroku

1

Czego potrzebujesz przed rozpoczęciem

Zanim Nginx Proxy Manager (NPM) będzie mógł działać, muszą zaistnieć trzy rzeczy. Po pierwsze, serwer Linux lub komputer PC z zainstalowanymi i działającymi programami Docker i Docker Compose — NPM działa jako kontener, a nie jak zwykły program. Po drugie, nazwa domeny, której DNS możesz edytować, ponieważ każda usługa otrzymuje własną subdomenę. Po trzecie, router lub zapora sieciowa w chmurze musi mieć możliwość przekazywania portów 80 i 443 do tego komputera.

📌 Jeśli chodzi o „2 minuty” w tytule: samo uruchomienie kontenera jest naprawdę szybkie – ale tylko po zainstalowaniu Dockera i zakończeniu przygotowań opisanych w tym przewodniku. Na nowej maszynie poczekaj na odpowiednią ilość czasu na konfigurację, DNS i certyfikat; uczciwa suma jest dłuższa niż dwie minuty.
⚠️ Na połączeniu domowym za CGNAT przekierowanie portów w ogóle nie działa – żadne ustawienie w NPM tego nie rozwiązuje. Uczciwe opcje to publiczny/statyczny adres IP od Twojego dostawcy usług internetowych, mały wynajęty VPS lub zamiast tego narzędzie do tunelowania. Nie pomijaj tego sprawdzenia: połowa wszystkich historii o tym, że NPM nie działa, to tak naprawdę historie o tym, że porty nigdy nie dotarły do ​​serwera.
2

Najpierw skieruj DNS swojej domeny na serwer

NPM kieruje ruch według nazwy, a Lets Encrypt wystawia certyfikaty tylko dla nazw, które w sposób możliwy do udowodnienia wskazują na Twoją maszynę - więc nazwa musi zostać rozpoznana, zanim cokolwiek na niej zbudujesz. U swojego rejestratora lub hosta DNS dodaj rekord A: nazwa to tylko słowo subdomeny (na przykład app), a wartość to publiczny adres IP Twojego serwera. Każda usługa otrzymuje swój własny rekord i wszystkie mogą wskazywać na ten sam adres IP - NPM oddziela później usługi według nazwy. Podczas testowania ustaw krótki czas TTL, np. 300 sekund, aby błędy znikały w ciągu kilku minut, a nie godzin.

Udowodnij to, zanim będziesz kontynuować: sprawdź, czy nazwa jest tłumaczona na Twój publiczny adres IP z sieci zewnętrznej (na przykład z telefonu z wyłączoną funkcją Wi-Fi). Żądanie certyfikatu na wypadek zepsutego DNS marnuje próby Lets Encrypt, a powtarzające się niepowodzenia mogą ograniczać szybkość transmisji na wiele godzin. Kolejność ma znaczenie: najpierw DNS, następnie host proxy, po trzecie certyfikat.

3

Utwórz folder i utwórz plik

Utwórz folder dla NPM na serwerze i zapisz w nim poniższy plik jako docker-compose.yml. Ten pojedynczy plik stanowi kompletną instalację. Nazwa obrazu jest oficjalnym obrazem społeczności. Porty 80 i 443 to drzwi publiczne, port 81 to panel administracyjny, a na dwóch wolumenach znajduje się cała konfiguracja: ./data przechowuje bazę danych ze wszystkimi hostami proxy, a ./letsencrypt przechowuje Twoje certyfikaty. Stracisz te dwa foldery, a stracisz całą konfigurację — wykonaj ich kopię zapasową, gdy wszystko zacznie działać.

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 restart: chyba-stopped automatycznie przywraca NPM po ponownym uruchomieniu.

4

Uruchom Menedżera proxy Nginx

Z poziomu tego folderu uruchom polecenie start. Docker pobiera obraz i uruchamia kontener w tle.

Terminal
docker compose up -d

Sprawdź, czy działa:

Terminal
docker ps

Powinieneś zobaczyć kontener z portami 80, 443 i 81. Na małym serwerze pierwsze uruchomienie trwa minutę lub dwie podczas tworzenia bazy danych. Jeśli kontener uruchamia się ponownie, dzienniki pokazują przyczynę prostym językiem:

Terminal
docker compose logs

W dziewięciu przypadkach na dziesięć pętla restartu oznacza, że ​​port jest już używany przez coś innego na hoście — zazwyczaj stary serwer WWW nadal działa.

5

Pierwsze logowanie — natychmiast zabezpiecz konto administratora

Otwórz panel administracyjny w przeglądarce we własnej sieci:

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

Zrób to w ciągu pierwszej minuty. W zależności od wersji NPM albo poprosi Cię o zastąpienie dobrze znanych danych administratora przy pierwszym logowaniu własnym adresem e-mail i silnym hasłem, albo - w przypadku nowszych kompilacji bez konta domyślnego - pierwsza osoba, która otworzy stronę administracyjną, utworzy administratora. Tak czy inaczej, zasada jest ta sama: załóż własne konto administratora w momencie uruchomienia kontenera, przed utworzeniem czegokolwiek innego i korzystaj z prawdziwej skrzynki pocztowej - e-maili NPM, które będą adresowane w przypadku problemów z certyfikatami.

⚠️ Nigdy nie zostawiaj portu 81 publicznie dostępnego, dopóki „dokończysz go później”. Każdy, kto pierwszy znajdzie panel w Internecie, jest właścicielem Twojego serwera proxy. Trzymaj panel administracyjny tylko w swojej sieci.
6

Utwórz swój pierwszy host proxy

W NPM otwórz Hosty → Hosty proxy → Dodaj host proxy i wypełnij formularz jednym zdaniem - „ta nazwa trafia do tej usługi wewnętrznej”:

Nazwy domen: app.twojadomena.com — dokładna nazwa publiczna z kroku 2, która musi już zostać rozpoznana na Twoim serwerze.
Schemat: http dla większości aplikacji domowych i biurowych. Schemat opisuje połączenie pomiędzy NPM a usługą wewnętrzną, a nie to, z czego korzystają odwiedzający - NPM obsługuje publiczne szyfrowanie na wejściu. Wybierz https tutaj tylko wtedy, gdy aplikacja wewnętrzna sama obsługuje HTTPS.
Przekaż nazwę hosta / IP: wewnętrzny adres usługi, na przykład 192.168.1.50.
Port przekazywania: port, na którym faktycznie nasłuchuje usługa, na przykład 8080 – a nie 80 czy 443; to są drzwi NPM, a nie usługi.

Włącz Blokuj typowe exploity, a następnie Zapisz. Przetestuj natychmiast, otwierając nazwę w przeglądarce - najlepiej na telefonie z wyłączonym Wi-Fi, aby przetestować prawdziwą ścieżkę publiczną.

✅ 502 Bad Gateway od NPM to drogowskaz, a nie porażka: oznacza to, że świat zewnętrzny osiągnął NPM doskonale i tylko ostatni wewnętrzny przeskok – nazwa hosta lub port – jest błędny. Napraw to pole, a nie całą konfigurację. Jeszcze jedna pułapka: jeśli usługa działa w innym kontenerze Dockera, localhost jest błędny (wewnątrz kontenera NPM, localhost oznacza sam NPM) - użyj adresu IP serwera w sieci LAN z opublikowanym portem lub umieść oba kontenery w tej samej sieci Dockera i użyj nazwy kontenera.
7

Zdobądź bezpłatny certyfikat Lets Encrypt HTTPS

Zrób to dopiero wtedy, gdy zwykły host z kroku 6 już działa — protokół HTTPS na uszkodzonym hoście daje uszkodzony host z certyfikatem i dwukrotnie większą ilością miejsc do szukania usterek. Otwórz ten sam host proxy, przejdź do zakładki SSL, ustaw Certyfikat SSL na Żądaj nowego certyfikatu SSL, włącz Wymuś SSL i Obsługę HTTP/2, zaakceptuj Warunki korzystania z usługi Lets Encrypt i Zapisz. Załaduj ponownie stronę - przeglądarka powinna teraz wyświetlać kłódkę na https.

Jak to działa: Lets Encrypt udowadnia, że masz kontrolę nad nazwą, prosząc serwer za pośrednictwem publicznego Internetu na porcie 80 o pokazanie jednorazowego tokena (wyzwanie HTTP-01). Właśnie dlatego DNS wskazujący na Ciebie i osiągalny port 80 nie podlegają negocjacjom - niepowodzenie jednego z nich spowoduje, że żądanie zakończy się niepowodzeniem, a błąd będzie tkwił w konfiguracji, nigdy w Lets Encrypt. Wymuś SSL automatycznie przekierowuje każdego odwiedzającego http na https; bez tego niezaszyfrowane drzwi pozostaną otwarte obok zaszyfrowanych.

📌 Certyfikaty są ważne przez 90 dni, a NPM odnawia je automatycznie, zazwyczaj na około miesiąc przed wygaśnięciem, korzystając z tego samego dowodu portu 80. Jeśli odnowienie kiedykolwiek się nie powiedzie, sprawdź najpierw nudne przyczyny: zmieniono DNS, usunięto przekierowanie routera lub port 80 został zablokowany. Włącz HSTS dopiero po rozliczeniu usługi i potwierdzeniu odnowień – to mocna obietnica, którą przeglądarki pamiętają miesiącami.

🏷️Zmienne wyszukiwania tematów i słowa kluczowe

🔍 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
🎙️ Pełna transkrypcja — kliknij, aby rozwinąć

__TOK_34__

__TOK_35__

__TOK_36__

❓ Najczęściej zadawane pytania

Czy korzystanie z tego samouczka jest w 100% bezpłatne?

__TOK_37__

Czy początkujący mogą postępować zgodnie z tym przewodnikiem?

__TOK_38__

Gdzie mogę zadawać pytania, jeśli utknę?

__TOK_39__

🚀 Obejrzyj cały samouczek na YouTube

__TOK_40__

__TOK_41__

▶️ Obejrzyj cały film
Ten samouczek jest oparty na filmie instalacyjnym Nginx Proxy Manager firmy Technical Anshu • Zablokowałeś się na którymkolwiek kroku? Zapytaj w komentarzach do filmu – tam uzyskasz pomoc 🙏