Jak skutecznie skonfigurować i używać Nginx Proxy Manager?

Komentarze: 0

W ramach nowoczesnego tworzenia stron internetowych i administrowania systemami, konfiguracja Nginx Proxy Manager jest niezbędna. Ułatwia on zautomatyzowane wydawanie certyfikatów SSL i konfigurację odwrotnego serwera pośredniczącego za pośrednictwem przyjaznego dla użytkownika interfejsu, odciążając w ten sposób złożone systemy konfiguracyjne. Daje to przewagę twórcom stron internetowych o różnym stopniu zaawansowania. Skupmy się najpierw na tym, z czym wiąże się NPM, czym różni się od standardowego proxy Nginx i jakie problemy rozwiązuje.

Czym jest Nginx Proxy Manager?

Aby w pełni wykorzystać to narzędzie, ważne jest, aby najpierw wyjaśnić różnice między oryginalnym Nginx, z którym jest często mylony, a koncepcją odwrotnego proxy.

Oparty na chmurze odwrotne proxy Serwer ułatwia niezliczoną liczbę krytycznych funkcji, które obejmują filtrowanie ruchu, równoważenie obciążenia i ukrywanie rzeczywistego działania wewnętrznych serwerów przed klientem. Poprawia to bezpieczeństwo zewnętrzne, niezawodność wewnętrzną i ogólną wydajność. Mówiąc prościej, reverse proxy to rozwiązania po stronie serwera, w przeciwieństwie do forward proxy, które działają po stronie klienta.

Służy jako oprogramowanie dla serwera pośredniczącego typu odwrotnego i pocztowego, równoważenia obciążenia i pamięci podręcznej HTTP. Nginx Proxy Manager to aplikacja zbudowana na bazie oryginalnego kodu źródłowego Nginx. Działa jako dodatkowa warstwa zarządzania, która zarządza funkcjami odwrotnymi.

Różnice między Nginx Proxy Manager i Nginx

Oprócz wspólnej architektury i zasad projektowania, Proxy Manager różni się od standardowego Nginx na kilka ważnych sposobów. Różnice te zostały zebrane w poniższej tabeli porównawczej.

Cecha Menedżer proxy Nginx
Interfejs zarządzania Oferuje wizualny graficzny interfejs użytkownika, który upraszcza konfigurację serwera pośredniczącego Zarządzanie za pomocą CLI przy użyciu dyrektyw takich jak proxy_pass, które wymagają głębszych umiejętności technicznych.
Zarządzanie SSL Wgrywanie i odnawianie certyfikatów SSL jest zautomatyzowane. Wymaga ręcznej interwencji administratora systemu
Dostęp do konfiguracji Ograniczony Pełny dostęp przez terminal
Aktualizacje Nieregularny Regularne aktualizacje i silne wsparcie społeczności
Funkcjonalność Niektóre funkcje są dostępne tylko w określonych wersjach Wbudowane narzędzia odpowiednie do złożonych i niestandardowych wdrożeń
Skalowalność Ograniczone dla złożonych infrastruktur na dużą skalę Lepiej nadaje się do skalowalnych środowisk korporacyjnych i systemów o dużym obciążeniu

Możliwości menedżera proxy Nginx

Przed skonfigurowaniem proxy w tym narzędziu, lepiej jest przejrzeć jego możliwości funkcjonalne. Kluczowe funkcje obejmują:

  • Konfiguracja serwerów pośrednich odbywa się za pośrednictwem odpowiedniego interfejsu i bez konieczności żmudnej edycji pliku konfiguracyjnego, co czyni ją prostą.
  • Usprawniona konfiguracja odwrotnych serwerów proxy pomaga nowicjuszom szybciej skonfigurować system.
  • Wydajna automatyzacja za pośrednictwem Let's Encrypt umożliwia użytkownikom automatyczne śledzenie i odnawianie certyfikatów SSL.
  • Dzienniki i różne statystyki serwerów pośredniczących można przeglądać bezpośrednio w interfejsie użytkownika.
  • Bezpośrednie, kontrolowanie do ostatniego szczegółu tego, czy wystąpią przekierowania, manipulowanie nazwami domen, obsługa żądań HTTP;
  • Odcięcie dostępu do niektórych zasobów sieciowych za pomocą uprawnień zwiększa bezpieczeństwo zasobów sieciowych.

Oczywiście narzędzie to nie tylko pomaga w konfiguracji odwrotnego proxy w Nginx, ale także umożliwia administratorowi bezpieczne ograniczenie dostępu do zasobów internetowych.

Przykładowe przypadki użycia Menedżera proxy Nginx

Scentralizowane zarządzanie różnymi aplikacjami służy jako jeden z kluczowych przykładów funkcjonalnych. To oprogramowanie oferuje pojedynczy pulpit kontrolny, z którego administrator może zarządzać:

  • wszystkie domeny;
  • certyfikaty bezpieczeństwa;
  • ustawienia odwrotnego serwera pośredniczącego.

Na przykład administrator systemu ma możliwość dodawania nowych witryn, konfigurowania HTTPS, ustawiania przekierowań i kontrolowania dostępu za pośrednictwem centralnego interfejsu zarządzania. Korzystanie z ujednoliconego interfejsu zarządzania zmniejsza ryzyko wystąpienia błędów i zakłóceń usług, które wprowadzają ręczne edycje plików konfiguracyjnych.

Co więcej, konfiguracja Nginx Proxy Manager może zwiększyć bezpieczeństwo zasobów i serwerów w chmurze, chroniąc je za pomocą niektórych wbudowanych funkcji, takich jak:

  • szyfrowanie ruchu między użytkownikiem a serwerem;
  • filtrowanie według adresu IP;
  • ustawienia dotyczące ograniczeń nazwy użytkownika/hasła na stronach lub w katalogach;
  • odwrotne proxy w celu ukrycia prawdziwego adresu IP serwera.

Rozważmy firmę z aplikacjami internetowymi (witryna WordPress, REST API, panel sterowania) hostowanymi na VPS w chmurze. Aby chronić te aplikacje przed zagrożeniami zewnętrznymi i ukryć wewnętrzną strukturę, inżynier DevOps konfiguruje narzędzie w sposób opisany powyżej.

Wymagania instalacyjne

Każdy system operacyjny jest kompatybilny z tym narzędziem. Do jego instalacji i obsługi zalecane są następujące konfiguracje sprzętowe:

  • Minimum 1 GB pamięci RAM;
  • 4-rdzeniowy procesor lub lepszy;
  • Co najmniej 15 GB wolnego miejsca na dysku.

Ponadto potrzebne będą poświadczenia administratora. Jeśli zalogowano się jako gość, konieczne będzie ponowne uruchomienie komputera z podwyższonymi uprawnieniami lub uzyskanie ich od właściciela komputera.

Proces konfiguracji: Samouczek menedżera proxy Nginx

  1. Odwiedź oficjalną stronę dewelopera. Jako pierwszy krok zaleca się pobranie i zainstalowanie Docker wraz z Docker-Compose. Oba pakiety muszą być zapisane na komputerze.

    1en.png

  2. Po pobraniu wszystkich plików otwórz terminal i wpisz następujące polecenie:
    
    sudo apt install docker.io -y
    
  3. Teraz wpisz to polecenie, aby zainstalować Docker-Compose:
    
    sudo apt install docker-compose -y
    
  4. Użyj poniższego polecenia, aby sprawdzić, czy instalacja przebiegła pomyślnie:
    
    docker --version
    docker-compose --version
    
  5. Wpisz to, aby utworzyć katalog, w którym będzie przechowywane narzędzie. W systemie Windows nowy folder można utworzyć, klikając prawym przyciskiem myszy, w systemie Linux:
    
    mkdir ~/npm && cd ~/npm
    
  6. W tym katalogu wpisz polecenia, aby utworzyć plik docker-compose.yml. W przypadku systemu Windows kliknij prawym przyciskiem myszy > Nowy > wybierz Notatnik, a następnie nazwij plik:

    2en.png

  7. Korzystanie z systemu Linux/Ubuntu:
    
    nano docker-compose.yml
    
  8. W przypadku obu opcji należy podać następujące dane:
    
    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
    
  9. Zapisz plik i uruchom kontener:
    
    docker-compose up -d
    
  10. Uruchom preferowaną przeglądarkę internetową i wpisz adres serwera ze skonfigurowanym portem. W tym przykładzie użyliśmy portu 81:
    
    https://IP-address:port
    
  11. Po uruchomieniu witryny powinien pojawić się ekran logowania. Do logowania należy użyć domyślnych poświadczeń z witryny dewelopera:
    
    Email: admin@example.com
    Password: changeme
    
  12. System poprosi o ich zmianę po pierwszej próbie logowania.

    3en.png

To wszystko, instalacja została pomyślnie zakończona.

Jak prawidłowo korzystać z menedżera proxy Nginx?

Konfiguracja obejmuje trzy główne kroki:

  • Konfiguracja menedżera odwrotnego proxy Nginx;
  • Instalacja certyfikatu SSL;
  • Konfiguracja autoryzacji.

Zastanówmy się, jak można to wdrożyć krok po kroku.

Konfigurowanie hosta proxy

Przejdź do sekcji "Hosty proxy", a następnie wybierz opcję "Dodaj host proxy". Pojawi się okno dialogowe z tymi wpisami:

  • Forward Hostname/IP - nazwa wewnętrzna (np. 82.211.7.97) lub adres IP.
  • Forward Port - 80, 50100 lub dowolny inny port kierujący ruchem.
  • Domain Names - aktywna lub nieaktywna (testowa) domena, np. test.domain.com.
  • Schemat - HTTP lub HTTPS, określony przez typ połączenia serwera wewnętrznego.
  • Block Common Exploits - jeśli zaznaczone, chroni przed większością popularnych luk w zabezpieczeniach.
  • Obsługa Websockets - zaznacz to pole, jeśli usługa działa w oparciu o WebSockets.

4en.png

Konfiguracja certyfikatu SSL

W tym samym oknie przejdź do sekcji "SSL". Wybierz "Żądaj nowego certyfikatu SSL" i włącz następujące opcje:

  • Wymuś SSL - wymusza HTTPS dla wszystkich połączeń.
  • Obsługa HTTP/2 - opcjonalna, w celu zwiększenia wydajności.
  • Zaakceptuj warunki korzystania z usługi Let's Encrypt - obowiązkowe do uzyskania bezpłatnego certyfikatu SSL.

Kliknij "Zapisz". Certyfikat zostanie automatycznie zażądany i zainstalowany.

5en.png

Autoryzacja

Aby utworzyć nową listę dostępu w Nginx Proxy Manager, przejdź do sekcji "Szczegóły". Przypisz nazwę taką jak "użytkownicy". Zwróć uwagę na ustawienie "Satisfy Any" - jeśli nie jest zaznaczone, użytkownicy muszą spełniać wszystkie warunki dostępu (uwierzytelnianie i dopasowanie adresu IP), co jest bezpieczniejsze.

6en.png

W sekcji "Autoryzacja" określ, którzy użytkownicy powinni mieć dostęp, a dla każdego użytkownika ustaw nazwę użytkownika i hasło - jest to podstawowe uwierzytelnianie HTTP w celu uzyskania dostępu do witryny.

7en.png

W zakładce "Dostęp" wprowadź adresy IP, które mają mieć dozwolony lub zablokowany dostęp. Wymusza to dostęp w oparciu o zasady sieci korporacyjnej.

8en.png

Po utworzeniu listy dostępu przejdź z powrotem do ustawień hosta docelowego i zastosuj nowo utworzoną listę dostępu w polu "Lista dostępu". Od tego momentu wymagane będzie uwierzytelnienie użytkownika w odniesieniu do witryny, a dostęp zostanie przyznany tylko wtedy, gdy wszystkie warunki zostaną spełnione.

Wnioski

Przeglądając ten przewodnik po Nginx Proxy Manager, można zauważyć, że jest to wielofunkcyjne narzędzie do konfigurowania odwrotnych serwerów proxy, zarządzania bezpieczeństwem SSL i kontrolowania dostępu do zasobów w chmurze. Jest szczególnie przydatne dla programistów i administratorów systemów, którzy wymagają scentralizowanej i bezpiecznej kontroli dziesiątek stron internetowych i usług, a także do użytku osobistego, takiego jak wdrażanie serwera domowego (NAS) lub zapewnianie bezpiecznego zdalnego dostępu do sieci lokalnej.

Główne zalety tego menedżera obejmują jego szeroką kompatybilność ze wszystkimi systemami operacyjnymi, usprawnione zarządzanie, które nie wymaga interakcji z wierszem poleceń, oraz szybką konfigurację serwerów proxy i SSL, które są jednymi z jego głównych zalet.

Komentarze:

0 komentarze