Jak skonfigurować dostęp do środowiska konteneryzowanego za pomocą Nginx Proxy Manager na Linuxie | INTROSERV
EUR
european

EUR

usa

USD

Poland Pl
Ex. VAT Ex. VAT 0%

Jak skonfigurować dostęp do środowiska konteneryzowanego za pomocą Nginx Proxy Manager na Linuxie

Wprowadzenie

W tym poradniku skonfigurujesz bezpieczny i przyjazny dla użytkownika dostęp do usług konteneryzowanych za pomocą Nginx Proxy Manager. To podejście upraszcza zarządzanie odwrotnym proxy poprzez interfejs webowy zamiast ręcznej konfiguracji. Zainstalujesz Nginx Proxy Manager z Dockerem, skonfigurujesz go i udostępnisz usługę konteneryzowaną przez domenę.

Wymagania wstępne

Docelowa grupa odbiorców: Początkujący administratorzy systemów
Szacowany czas: ~30 minut
Cel końcowy: Po zakończeniu tego poradnika będziesz mieć działającą konfigurację Nginx Proxy Manager, która kieruje ruch zewnętrzny do aplikacji konteneryzowanej.

Wymagania systemowe:

  • OS: Dystrybucja Linux kompatybilna z Dockerem
  • Docker: 24.0.6 lub nowszy
  • Docker Compose: v2
  • Minimum 1 GB RAM i 10 GB miejsca na dysku
  • Nazwa domeny wskazująca na IP twojego serwera
  • Otwarte porty: 80, 81, 443
  • Uprawnienia sudo

Wymagana wiedza:

  • Podstawowe korzystanie z linii poleceń Linux
  • Podstawowe zrozumienie kontenerów Docker

Krok 1: Zrozumienie Nginx Proxy Manager

Nginx Proxy Manager to narzędzie oparte na sieci, które zarządza konfiguracjami odwrotnego proxy Nginx. Pozwala na kierowanie ruchu do różnych usług za pomocą nazw domen, włączanie certyfikatów SSL i zarządzanie zasadami dostępu bez ręcznej edycji plików konfiguracyjnych.

Kluczowe funkcje:

  • Interfejs webowy do zarządzania proxy
  • Automatyczne SSL przez Let's Encrypt
  • Kontrola dostępu i uwierzytelnianie
  • Łatwa integracja z środowiskami Docker

Wynik: Rozumiesz, jak Nginx Proxy Manager upraszcza udostępnianie usług konteneryzowanych.

Krok 2: Instalacja Docker i Docker Compose

Zainstaluj Docker za pomocą prostego polecenia:

curl -sSL https://get.docker.com/ | CHANNEL=stable bash

Zweryfikuj instalację Docker:

docker --version

Zweryfikuj Docker Compose:

docker compose version

Wynik: Docker i Docker Compose są zainstalowane i gotowe do użycia.

Krok 3: Konfiguracja Nginx Proxy Manager

Utwórz katalog projektu:

mkdir ~/npm && cd ~/npm

Utwórz plik konfiguracyjny:

nano docker-compose.yml

Wstaw zawartość konfiguracji:

version: "3" services: app: image: jc21/nginx-proxy-manager:latest restart: always ports: - "80:80" - "81:81" - "443:443" volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt

Zapisz plik i wyjdź.

Uruchom usługę:

docker compose up -d

Wynik: Kontener Nginx Proxy Manager działa i nasłuchuje na wymaganych portach.

Krok 4: Dostęp do interfejsu webowego

Ekran logowania Nginx Proxy Manager

Otwórz przeglądarkę i przejdź do: http://<TWÓJ_ADRES_IP>:81

Domyślne dane logowania:

Zaktualizuj swoje dane logowania, gdy zostaniesz o to poproszony.

Wynik: Możesz uzyskać dostęp i zarządzać Nginx Proxy Manager przez interfejs webowy.

Krok 5: Wdrożenie kontenera testowego

Uruchom testowy kontener webowy:

docker run -d --name test-app -p 8080:80 nginx

Zweryfikuj dostęp, otwierając: http://<TWÓJ_ADRES_IP>:8080

Wynik: Kontener testowy działa i jest dostępny lokalnie.

Krok 6: Utworzenie hosta proxy

Dialog dodawania hosta proxy w Nginx Proxy Manager

W interfejsie Nginx Proxy Manager:

  • Kliknij "Proxy Hosts"
  • Kliknij "Add Proxy Host"
  • Wprowadź domenę: <TWOJA_DOMENA>
  • Przekieruj nazwę hosta lub IP: localhost
  • Przekieruj port: 8080
  • Włącz "Block Common Exploits"
  • Zapisz konfigurację

Wynik: Ruch z twojej domeny jest kierowany do kontenera.

Krok 7: Włącz SSL

Zakładka konfiguracji SSL w Nginx Proxy Manager

Edytuj hosta proxy:

  • Otwórz zakładkę SSL
  • Wybierz Request a new SSL Certificate
  • Włącz Force SSL
  • Włącz HTTP/2 Support
  • Wprowadź swój email i zaakceptuj warunki
  • Zapisz zmiany

Info

SSL wymaga poprawnych rekordów DNS wskazujących twoją domenę na twój serwer.

Wynik: HTTPS jest włączony i zabezpieczony ważnym certyfikatem.

Weryfikacja

Otwórz swoją domenę: https://<TWOJA_DOMENA>

Oczekiwane wyniki:

  • Ładuje się strona testowa Nginx
  • Przeglądarka pokazuje ważny certyfikat SSL
  • Nie pojawiają się ostrzeżenia dotyczące bezpieczeństwa

Sprawdź działające kontenery:

docker ps

Wynik: Odwrotne proxy działa poprawnie i bezpiecznie kieruje ruch.

Cofanie zmian

Zatrzymaj usługi:

docker compose down

Usuń kontener testowy:

docker rm -f test-app

Usuń pliki projektu:

rm -rf ~/npm

Info

Ważne: To usuwa wszystkie konfiguracje i certyfikaty SSL.

Wynik: Wszystkie zmiany są cofnięte, a system jest czysty.

Rozwiązywanie problemów

Problem: Nie można uzyskać dostępu do interfejsu webowego
Rozwiązanie: Upewnij się, że port 81 jest otwarty i nie jest używany przez inną usługę

Problem: Generowanie certyfikatu SSL nie powiodło się
Rozwiązanie: Zweryfikuj konfigurację DNS wskazującą na twój serwer

Problem: Host proxy nie działa
Rozwiązanie: Sprawdź status kontenera za pomocą docker ps i logi za pomocą docker logs <CONTAINER_ID>

Wynik: Typowe problemy są zidentyfikowane i rozwiązane.

Podsumowanie i kolejne kroki

Zainstalowałeś i skonfigurowałeś Nginx Proxy Manager za pomocą Dockera i udostępniłeś usługę konteneryzowaną z domeną i SSL. Ta konfiguracja zapewnia prosty i skalowalny sposób zarządzania wieloma usługami.

Kolejne kroki:

  • Dodaj dodatkowe usługi za różnymi domenami
  • Skonfiguruj listy kontroli dostępu
  • Eksploruj zaawansowane ustawienia proxy i bezpieczeństwa

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA