Jeśli masz to wszystko, zanurkujmy.
Co to jest menedżer proxy nginx?
Nginx Proxy Manager (NPM) to odwrotny system zarządzania proxy działającym na Docker. NPM opiera się na serwerze Nginx i zapewnia użytkownikom czysty, wydajny i piękny interfejs internetowy dla łatwiejszego zarządzania. Narzędzie jest łatwe do skonfigurowania i nie wymaga od użytkowników wiedzy, jak pracować z serwerami Nginx lub certyfikatami SSL. NPM to narzędzie open source prowadzone przez programistów z całego świata. Jest odpowiedni dla małych środowisk serwerowych i prywatnych środowisk laboratoryjnych. Ten samouczek skupi się na pokazaniu, jak wdrożyć menedżera proxy Nginx:
Instalowanie Docker i SQLite
Nginx Proxy Manager działa jako kontener Docker; Zatem wymaga to Docker i Docker-Compose zainstalowanych na serwerze. Ze względu na prostotę ilustruję tylko, jak zainstalować Dockera na Ubuntu. Zapoznaj się z dokumentacją Dockera w celu odniesienia do tego, jak skonfigurować ją w innych systemach. Aby zainstalować Dockera na Ubuntu, zacznij od usunięcia starych instalacji Docker. Pomiń to, jeśli nie jest dostępne.
sudo apt-get Usuń doker-inżynier dokera.IO Containnerd Runc
Następnie zainstaluj repozytorium i wszystkie zależności za pomocą poleceń:
Sudo apt-get Aktualizacja
sudo apt-get instaluj apt-transport-https CA-certyfikaty curl gnupg lsb-release -y
Dodaj klawisz GPG Docker Repository:
curl -fssl https: // pobierz.doker.com/Linux/Ubuntu/GPG | sudo gpg--dearmor -o/usr/share/keyrings/Docker-Archive-Keyring.GPG
Następnie dodaj stabilne repozytorium za pomocą polecenia ECHO jako:
echo "Deb [arch = AMD64 podpisany na punkcie =/usr/share/keyrings/Docker-Archive-Keyring.gpg] https: // pobierz.doker.com/linux/ubuntu \
$ (lsb_release -cs) stabilny "| sudo tee/etc/apt/źródła.lista.D/Docker.Lista> /dev /null
Na koniec zaktualizuj repozytoria i zainstaluj Docker za pomocą poleceń:
sudo apt-get aktualizacja && sudo apt-get instaluj Docker-Cce Containt.IO Docker -Compose -y
Teraz uruchom Docker i włącz na startup:
Sudo Systemctl Włącz Docker.praca
sudo systemctl start docker.praca
sudo systemCtl Włącz Containd.praca
Zainstaluj SQLite
Następnym krokiem jest zainstalowanie bazy danych SQLITE, której użyjemy do uruchomienia NPM. Warto zauważyć, że możesz również użyć bazy danych MySQL.
Wdrażaj NPM na Docker
Aby wdrożyć Menedżera proxy Nginx, musimy utworzyć plik komposu. Aby dowiedzieć się więcej o pliku komponsu Docker i jego działania, rozważ zasoby powiązane tutaj. Gorąco polecam utworzenie pliku Docker-Compose w katalogu, masz pełne uprawnienia.
Nano-Docker-Compose.Yaml
Następnie dodaj następujące wiersze do pliku komponowania, zapisz i zamknij.
Wersja: „3”
Usługi:
App:
Zdjęcie: „JC21/Nginx-Proxy-Manager: najnowszy”
Uruchom ponownie: Zawsze
Porty:
# Port HTTP
- '80: 80 '
# Port HTTPS:
- „443: 443”
# Admin UI
- '81: 81 '
środowisko:
Db_sqlite_file: "/data/npm.sqlite "
wolumeny:
- ./Data:/Data
- ./LetsEncrypt:/etc/LetsEncrypt
Na koniec uruchom polecenie Docker-Compose jako:
Docker -Compose Up -d
To wdroży stos z obrazu NPM określonego w pliku Docker-Compose. Wyjście stworzenia:
Tworzenie sieci „debian_default” z domyślnym sterownikiem
Pulling App (JC21/Nginx-Proxy-Manager: najnowszy)…
Najnowsze: pobieranie z JC21/Nginx-Proxy-Manager
801BFAA63EF2: Pull Complete
7927cd3bbe4c: Pull Complete
F53B85628DA5: Pull Complete
E834C30791f9: Pull Complete
6B68B3708DD5: Pull Complete
963FE519B5FD: Pull Complete
37e54d057f10: Pull Complete
-------------------------------------
Digest: SHA256: B33AAB798A6150BA7DD238D36936D0882A312C983A0B3EB261A6DCBD5E6A3425
Status: pobrano nowszy obraz dla JC21/Nginx-Proxy-Manager: najnowszy
Tworzenie debian_app_1… gotowe
Dostęp do interfejsu użytkownika NPM
Po utworzeniu i uruchomieniu możesz zalogować się do interfejsu za pomocą adresu IP i portu określonego w pliku Docker-Compose. W tym przypadku port 81.
http: // ip: 81
Najlepiej byłoby, gdybyś wylądował na interfejsie logowania NPM. Wprowadź nazwę użytkownika i hasło jako:
Przykład [email protected] Com i Changeme.
Po początkowym logowaniu będziesz musiał zaktualizować dane administratora.
Po zaktualizowaniu wszystkich danych użytkownika dotrzesz do głównego pulpitu nawigacyjnego, z którego możesz skonfigurować hosty proxy:
Praca z NPM
Po zainstalowaniu i zapewnieniu uruchomienia menedżera proxy, możemy dodać host proxy, aby ujawnić usługę działającą na serwerze. Przejdź do hostów - hosty proxy i kliknij Dodaj host proxy.
Wybierz schemat, taki jak HTTP lub HTTPS. Jeśli usługa, którą chcesz ujawnić, nie obsługuje ruchu HTTPS, trzymaj się HTTP. Następnie dodaj nazwy domeny, nazwa hosta do przodu i IP. Możesz także wybrać Block Common Exploits, aby uzyskać dodatkowe bezpieczeństwo.
Po wyświetleniu usługi spróbuj uzyskać dostęp do określonej nazwy hosta lub IP i portu. Ta usługa powinna być dostępna. Możesz także zarządzać proxy na liście hostów proxy.
Lista dostępu NPM
W niektórych przypadkach może być konieczne ujawnienie aplikacji lub usługi na liście proxy NPM na określone adresy IP. Aby to skonfigurować, możesz użyć listy dostępu NPM.
Przejdź do listy dostępu i kliknij Dodaj listę proxy. Tutaj podaj im listę dostępu nazwa; możesz również wybrać satysfakcję.
Na karcie autoryzacji ustaw nazwy użytkowników i hasła, których użyjesz, aby zalogować się do usługi.
Przejdź do zakładki dostępu i dodaj adresy IP, które chcesz zezwalać na połączenia i odmówić wszystkim innym.
Aby dołączyć listę dostępu do określonej aplikacji internetowej, przejdź do hostów - host proxy i wybierz hosta. Kliknij edytuj i ustaw listę dostępu zgodnie z definicją powyżej.
Udostępnianie certyfikatów SSL
NPM umożliwia również zapewnienie certyfikatów SSL na różnych nazwach domen. Przed dodaniem nazwy domeny do przepisu SSL upewnij się, że domena wskazuje na serwer proxy NPM.
Przejdź do certyfikatów SSL i kliknij Dodaj certyfikat SSL. Podaj nazwy domeny i adres e -mail Let's Encrypt. Wreszcie, zgadzam się na warunki usług i oszczędzaj. Możesz także dodać wyzwanie DNS, ale nie omówię tego w tym samouczku.
To stworzy nowy zaufany certyfikat SSL.
Dostosuj stronę główną
Możesz także dostosować domyślną stronę internetową dla serwera NPM. Kliknij Ustawienia - Domyślna strona i wybierz Edytuj. Możesz wybrać błąd 404, przekierować na nowy adres lub utworzyć niestandardową stronę.
Na przykład poniżej znajduje się kod HTML, który pokazuje 403 zabronione.
Źródło: Codepen https: // Codepen.IO/BLECAF/PEN/NLOEPY
Wniosek
Ten samouczek analizował instalację i wdrożenie menedżera proxy Nginx na serwerze Ubuntu z Docker. Następnie omówiliśmy, jak skonfigurować NPM i dodać hosty do Proxy Manager.
Pamiętaj: Spójne eksperymentowanie jest kluczem do opanowania, więc eksperymentuj!