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.
📑Rozdziały
- Co robi odwrotne proxy – jedne drzwi dla wszystkich Twoich usług
- Co jest potrzebne przed rozpoczęciem — Docker, domena i osiągalne porty
- Przed instalacją czegokolwiek skieruj DNS swojej domeny na serwer
- Utwórz folder i plik docker-compose.yml
- Uruchom Menedżera proxy Nginx jednym poleceniem
- Pierwsze logowanie – krok administratora, który wszyscy popełniają błędnie
- Utwórz swój pierwszy host proxy, pole po polu
- Zdobądź bezpłatny certyfikat Lets Encrypt HTTPS i włącz Force SSL
📋Omówienie i przewodnik krok po kroku
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.
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.
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ć.
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.
Uruchom Menedżera proxy Nginx
Z poziomu tego folderu uruchom polecenie start. Docker pobiera obraz i uruchamia kontener w tle.
docker compose up -d
Sprawdź, czy działa:
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:
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.
Pierwsze logowanie — natychmiast zabezpiecz konto administratora
Otwórz panel administracyjny w przeglądarce we własnej sieci:
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.
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ą.
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.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.
🏷️Zmienne wyszukiwania tematów i słowa kluczowe
🎙️ 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__