Nginx

Jak korzystać z menedżera proxy Nginx

Jak korzystać z menedżera proxy Nginx
Nginx to popularny serwer internetowy i odwrotny serwer proxy używany do kierowania ruchu i przekierowywania go na inny serwer. Konfiguracja Nginx jako zwrotnego serwera proxy może być czasochłonna i podatna na błędy i błędne konfiguracje. Ten przewodnik pokaże Ci, jak skonfigurować i używać menedżera proxy Nginx, aby ułatwić zarządzanie i konfigurację. Przed zanurzeniem się w samouczku jest kilka warunków wstępnych. Będziesz potrzebować:

  1. Serwer Linux
  2. Docker i Docker tworzą zainstalowane na serwerze
  3. Root lub użytkownik z uprawnieniami sudo

Jeśli masz to wszystko, zanurkujmy.

Co to jest Nginx Proxy Manager?

Menedżer proxy Nginx (NPM) to system zarządzania odwrotnym serwerem proxy działający na platformie Docker. NPM jest oparty na serwerze Nginx i zapewnia użytkownikom przejrzysty, wydajny i piękny interfejs sieciowy ułatwiający zarządzanie. Narzędzie jest łatwe w konfiguracji i nie wymaga od użytkowników znajomości pracy z serwerami Nginx lub certyfikatami SSL. NPM to narzędzie open-source utrzymywane przez programistów z całego świata. Doskonale nadaje się do małych środowisk serwerowych i prywatnych laboratoriów. Ten samouczek skupi się na pokazaniu, jak wdrożyć menedżera proxy Nginx:

Instalowanie Dockera i SQLite

Menedżer proxy Nginx działa jako kontener dockera; w związku z tym wymaga zainstalowanego na serwerze Dockera i docker-compose. Dla uproszczenia zilustruję tylko, jak zainstalować Docker na Ubuntu. Zapoznaj się z dokumentacją platformy Docker, aby dowiedzieć się, jak skonfigurować ją w innych systemach. Aby zainstalować Docker na Ubuntu, zacznij od usunięcia starych instalacji Docker. Pomiń to, jeśli żaden nie jest dostępny.

sudo apt-get usuń docker docker-engine docker.IO kontenerowy runc

Następnie zainstaluj repozytorium i wszystkie zależności za pomocą poleceń:

aktualizacja sudo apt-get
sudo apt-get install apt-transport-https certyfikaty ca curl gnupg lsb-release -y

Dodaj klucz GPG repozytorium Docker:

curl -fsSL https://download.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 przez=/usr/share/keyrings/docker-archive-keyring.gpg] https://pobierz.doker.pl/linux/ubuntu \
$(lsb_release -cs) stabilny" | koszulka sudo /etc/apt/sources.lista.d/dok.lista > /dev/null

Na koniec zaktualizuj repozytoria i zainstaluj docker za pomocą poleceń:

sudo apt-get aktualizacja && sudo apt-get zainstaluj docker-ce docker-ce-cli containerd.io docker-compose -y

Teraz uruchom docker i włącz przy starcie:

sudo systemctl włącz okno dokowane.usługa
sudo systemctl uruchom okno dokowane.usługa
sudo systemctl włącz kontener.usługa

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ż korzystać z bazy danych MySQL.

Wdróż NPM w Docker

Aby wdrożyć menedżera proxy Nginx, musimy utworzyć plik docker-compose, aby uruchomić Docker i zainicjować kontener. Aby dowiedzieć się więcej o pliku tworzenia Docker i jego działaniu, zapoznaj się z zasobami, do których prowadzą linki tutaj. Gorąco polecam utworzenie pliku docker-compose w katalogu, do którego masz pełne uprawnienia.

nano docker-compose.jamla

Następnie dodaj następujące wiersze do pliku redagowania, zapisz i zamknij.

wersja: „3”
usługi:
aplikacja:
obraz: 'jc21/nginx-proxy-manager:ostatni'
restart: zawsze
porty:
# Port HTTP
- '80:80'
# Port HTTPS:
- „443:443”
# Interfejs administratora
- '81:81'
środowisko:
DB_SQLITE_FILE: "/data/npm.sqlite"
wolumeny:
- ./dane:/dane
- ./letsencrypt:/etc/letsencrypt

Na koniec uruchom polecenie docker-compose jako:

docker-compose up -d

Spowoduje to wdrożenie stosu z obrazu NPM określonego w pliku docker-compose. Wynik tworzenia:

Tworzenie sieci "debian_default" z domyślnym sterownikiem
Pobieranie aplikacji (jc21/nginx-proxy-manager:najnowszy)…
najnowsze: Pobieranie z jc21/nginx-proxy-manager
801bfaa63ef2: Ciągnięcie zakończone
7927cd3bbe4c: Ciągnięcie zakończone
f53b85628da5: Ciągnięcie zakończone
e834c30791f9: Ciągnięcie zakończone
6b68b3708dd5: Ciągnięcie zakończone
963fe519b5fd: Ciągnięcie zakończone
37e54d057f10: Ciągnięcie zakończone
-------------------------------------
Streszczenie: sha256:b33aab798a6150ba7dd238d36936d0882a312c983a0b3eb261a6dcbd5e6a3425
Status: Pobrano nowszy obraz dla jc21/nginx-proxy-manager: najnowszy
Tworzę debian_app_1… gotowe

Uzyskiwanie dostępu do interfejsu użytkownika NPM

Po utworzeniu i uruchomieniu możesz zalogować się do interfejsu przy użyciu adresu IP i portu określonego w pliku docker-compose. W tym przypadku port 81.

http://IP:81

Byłoby najlepiej, gdybyś wylądował w interfejsie logowania NPM. Wprowadź nazwę użytkownika i hasło jako:

[email protected] i changeme, odpowiednio.

Przy pierwszym logowaniu będziesz musiał zaktualizować dane administratora.

Po zaktualizowaniu wszystkich danych użytkownika przejdziesz do głównego pulpitu nawigacyjnego, z którego możesz skonfigurować hosty proxy:

Praca z NPM

Po zainstalowaniu i upewnieniu się, że menedżer proxy działa, możemy dodać hosta proxy, aby odsłonić usługę działającą na serwerze. Przejdź do Hosty — Hosty proxy i kliknij Dodaj hosta proxy.

Wybierz schemat, taki jak HTTP lub HTTPS. Jeśli usługa, którą chcesz udostępnić, nie obsługuje ruchu HTTPS, trzymaj się HTTP. Następnie dodaj nazwy domen, nazwę hosta przekazywania i adres IP. Możesz także wybrać Blokuj popularne exploity, aby zwiększyć bezpieczeństwo.

Po ujawnieniu usługi spróbuj uzyskać do niej dostęp przy użyciu określonej nazwy hosta lub adresu IP i portu. Ta usługa powinna być dostępna. Możesz także zarządzać serwerem proxy na liście hostów proxy.

Lista dostępu NPM

W niektórych przypadkach może być konieczne udostępnienie 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 nadaj im nazwę listy dostępu; możesz również wybrać Satisfy Any.

W zakładce autoryzacji ustaw nazwy użytkowników i hasła, których będziesz używać do logowania się do serwisu.

Przejdź do zakładki Dostęp i dodaj adresy IP, z których chcesz zezwolić na połączenia i odmówić wszystkim innym.

Aby dołączyć listę dostępu do określonej aplikacji internetowej, przejdź do Hosts - Host proxy i wybierz swojego hosta. Kliknij Edytuj i ustaw listę dostępu zgodnie z definicją powyżej.

Udostępnianie certyfikatów SSL

NPM umożliwia również udostępnianie certyfikatów SSL dla różnych nazw domen. Przed dodaniem nazwy domeny do protokołu SSL upewnij się, że domena wskazuje serwer proxy NPM.

Przejdź do certyfikatów SSL i kliknij Dodaj certyfikat SSL. Podaj nazwy domen i adres e-mail dla Let's Encrypt. Na koniec Zaakceptuj warunki korzystania z usługi i zaoszczędź. Możesz także dodać wyzwanie DNS, ale nie omówię tego w tym samouczku.

Spowoduje to utworzenie nowego zaufanego certyfikatu SSL.

Dostosuj stronę główną

Możesz także dostosować domyślną stronę internetową dla serwera NPM. Kliknij Ustawienia - Domyślna witryna i wybierz Edytuj. Możesz wybrać wyświetlanie błędu 404, przekierowanie na nowy adres lub utworzenie własnej strony.

Na przykład poniżej znajduje się kod HTML pokazujący 403 Forbidden.







403 - Zabronione


ŹRÓDŁO: CodePen https://codepen.io/blecaf/długopis/NLoEPY

Wniosek

W tym samouczku omówiono instalowanie i wdrażanie menedżera proxy Nginx na serwerze Ubuntu z systemem Docker. Następnie omówiliśmy, jak skonfigurować NPM i dodać hosty do menedżera proxy.

Pamiętaj: konsekwentne eksperymentowanie jest kluczem do mistrzostwa, więc eksperymentuj dalej!

Gry Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Jeśli lubisz grać w gry na Linuksie za pomocą gamepada zamiast typowego systemu wprowadzania klawiatury i myszy, jest kilka przydatnych aplikacji dla ...
Gry Przydatne narzędzia dla graczy Linuksa
Przydatne narzędzia dla graczy Linuksa
Jeśli lubisz grać w gry w systemie Linux, prawdopodobnie używałeś aplikacji i narzędzi, takich jak Wine, Lutris i OBS Studio, aby poprawić wrażenia z ...
Gry Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Wielu twórców gier i wydawców wymyśla remaster HD starych gier, aby przedłużyć żywotność serii, prosimy fanów o kompatybilność z nowoczesnym sprzętem ...