GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Nginx Proxy Manager Návod k nastavení Synology NAS!

Dnes se podíváme na to, jak nastavit Nginx Proxy Manager na Synology NAS.

Pokud zpřístupňujete jakékoli služby ve své síti, je použití reverzního proxy skvělým způsobem, jak zvýšit zabezpečení a výkon. Reverzní proxy je server, který sedí před vašimi webovými servery a předává požadavky klientů webovým serverům. Laicky řečeno, stačí vystavit jeden server (pomocí portů 80/443) a budete moci vystavit tolik webových služeb, kolik chcete.

Toto je příklad síťového toku reverzního proxy (zjednodušeně):

Mějte na paměti, že se jedná o alternativu k aplikačnímu portálu Synology, kde si můžete nastavit Reverse Proxy. Pokud je vaším záměrem pouze vytvořte reverzní proxy, možná jej budete chtít použít místo toho, protože není nutná žádná konfigurace (kromě nastavení reverzního proxy)!

1. Pokyny k nastavení – Nginx Proxy Manager Synology NAS

Tento výukový program bude využívat zařízení Synology NAS a Docker. Protože Nginx Proxy Manager používá databázi, budeme muset nainstalovat dva různé kontejnery. Jeden pro naši databázi a jeden pro Nginx Proxy Manager. Ve výchozím nastavení používá Synology porty 80 a 443, takže použití našeho hostitelského síťového rozhraní není ideální. Z tohoto důvodu vytvoříme síťové rozhraní macvlan (v Dockeru), které nám umožní obejít tento konflikt portů.

1. Nainstalujte Docker z balíčku společnosti Synology Uprostřed .

2. Musíme vytvořit několik složek, do kterých budeme mapovat naše kontejnery Docker. Ve výchozím nastavení balíček Docker po dokončení instalace vytvoří složku s názvem docker. Uvnitř této složky vytvoříme složku s názvem mariadb a nginx-proxy .

3. Uvnitř nginx-proxy vytvořte dvě podsložky s názvem data a letsencrypt .

4. Vytvořte a nahrát soubor s názvem config.json na nginx-proxy složka. Tento soubor musí obsahovat níže uvedený obsah. Ujistěte se, že jste změnili SYNOLOGY_NAS_IP na IP adresu vašeho Synology NAS!

{
   "database": {
   "engine": "mysql",
   "host": "SYNOLOGY_NAS_IP",
   "name": "nginxproxymanager",
   "user": "nginxproxymanager",
   "password": "nginxproxymanager",
   "port": 3306
  }
}

5. Nastavení složky je dokončeno!

1.1 Nastavení síťového rozhraní Macvlan &Bridge Docker

1. Ujistěte se, že můžete SSH do svého Synology NAS. Otevřete Ovládací prvek Panel , vyberte Terminál a SNMP a Povolit SSH servis. Pokud používáte bránu Synology Firewall, ujistěte se, že povolujete provoz na portu 22. Vytvořil jsem video o tom, jak zapojit SSH do vašeho Synology NAS, pokud máte nějaké problémy.

2. SSH do vašeho Synology NAS pomocí vašeho oblíbeného nástroje SSH.

3. Potřebujeme vytvořit síťové rozhraní Docker macvlan. Nejprve musíme zjistit, jaká síťová rozhraní aktuálně existují (na vašem Synology NAS) a poznamenat si název adaptéru. Chcete-li to provést, spusťte níže uvedený příkaz a poznamenejte si název síťového rozhraní, které má IP adresu vašeho Synology NAS (v tomto příkladu je moje eth0).

ifconfig

4. Dále musíte spustit níže uvedený příkaz a nahradit správnou podsíť (většina je 192.168.1.0/24 nebo 192.168.0.0/24 ve výchozím nastavení). Musíte také vybrat IP adresu, kterou chcete používat a která se aktuálně nepoužívá. Budu používat 192.168.1.198. POZNÁMKA :npm_network bude název sítě (můžete jej nahradit, jak chcete).

sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.198/32 npm_network

5. Naše síť je nyní vytvořena. Nyní můžeme ukončit naši relaci SSH a deaktivovat ji v DSM (pokud ji nebudete používat). Pokud jej deaktivujete a vytvoříte pro něj pravidlo brány firewall, měli byste pravidlo brány firewall také deaktivovat.

6. Dále musíme vytvořit mostovou síť. To umožní našemu hostiteli (NAS) komunikovat s naším kontejnerem Nginx Proxy Manager. Otevřete Docker a přejděte na Síť sekce. Vyberte Přidat a zadejte podsíť, která se aktuálně nepoužívá. IP adresa mostu, který vytvářím, bude 192.168.10.2.

7. Obě síťová rozhraní jsou nyní nastavena!

1.2 Instalace a konfigurace MariaDB

Nginx Proxy Manager vyžaduje, aby byla nastavena databáze, aby správně fungovala. Přestože Synology nabízí balíček MariaDB, rád jej oddělím vytvořením druhého kontejneru Docker pouze pro databázi.

1. Otevřete Docker , přejděte do Registru a vyhledejte MariaDB . Stáhněte si nejnovější verzi MariaDB .

2. Po dokončení stahování obrázku přejděte na Obrázek a dvakrát klikněte na mariadb k nastavení nového kontejneru.

3. Zadejte název kontejneru a poté vyberte Upřesnit Nastavení .

4. Vyberte možnost Povolit automatický restart .

5. V části Hlasitost vyberte Přidat Složka a poté vyberte mariadb složku, kterou jsme vytvořili dříve. V části Připojit Cesta zadejte /var/lib/mysql .

6. V Port Nastavení změňte místní port na 3306 . POZNÁMKA :Pokud musíte jako port použít něco jiného než 3306, musíte aktualizovat config.json soubor, který jsme vytvořili dříve.

7. V Prostředí musíme vytvořit čtyři proměnné. Tyto proměnné ukládají naše root heslo, název databáze, uživatelské jméno a heslo. POZNÁMKA :Pokud nechcete používat níže uvedené hodnoty (nginxproxymanager), můžete je změnit na cokoliv chcete. Jen se ujistěte, že aktualizujete soubor config.json, který jsme dříve vytvořili, o nové informace.

8. Vyberte možnost Použít a vytvořte kontejner. Databáze je nyní vytvořena!

1.3 Nastavení brány firewall – Nginx Proxy Manager Synology NAS

Protože používáme síťové rozhraní macvlan, pro Nginx Proxy Manager nemusíme nastavovat žádná pravidla brány firewall. Kontejner MariaDB však používá hostitelské síťové rozhraní a z tohoto důvodu potřebuje pravidlo brány firewall, které povolí provoz. Pokud jste nenastavili bránu firewall společnosti Synology, vytvořil jsem výukový program, jak to udělat (a navrhuji, abyste to udělali).

1. Otevřete Ovládací prvek Panel , vyberte Zabezpečení a poté Firewall . Vyberte možnost Upravit pravidla a přidejte povolit pravidlo pro port 3306 . POZNÁMKA :Pokud v souboru config.json, který jsme vytvořili výše, používáte jiný port, budete muset použít tento port místo 3306.

1.4 Nastavení kontejneru Nginx Proxy Manager – Synology NAS

1. Otevřete Docker , přejděte do Registru a vyhledejte nginx-proxy-manager . Stáhněte si nejnovější verze jc21/nginx-proxy-manager .

2. Po dokončení stahování obrázku přejděte na Obrázek a dvakrát klikněte na jc21/nginx-proxy-manager k nastavení nového kontejneru.

3. Pojmenujte kontejner a vyberte Upřesnit Nastavení .

4. Vyberte možnost Povolit automatický restart .

5. V části Hlasitost potřebujeme vytvořit dvě mapování složek a jedno mapování souborů. Vyberte možnost Přidat složku a přidejte data složku a přidejte cestu pro připojení /data . Dále vyberte letsencrypt složku a přidejte cestu pro připojení /etc/letsencrypt . Vyberte možnost Přidat Soubor a vyberte soubor config.json soubor, který jsme vytvořili dříve, s připojovací cestou /app/config/production.json .

6. V části Síť , přidejte npm_network a npm_bridge sítě a odebrat most.

7. Porovnejte Port Nastavení být jako na obrázku níže. Pokud pro cokoli používáte 4443, 8080 nebo 8081, můžete porty změnit na něco, co se aktuálně nepoužívá.

8. Vyberte možnost Použít a vytvořte kontejner! Dejte kontejneru několik minut a měli byste mít přístup k webovému administrátorskému portálu přes IP adresu npm_network a port 81!

http://[npm_network]:81

2. Nastavení Nginx Proxy Manager – Synology NAS

1. Přihlaste se pomocí e-mailové adresy [email protected] a heslo changeme .

2. Po zobrazení výzvy změňte své jméno a e-mailovou adresu a poté nastavte heslo.

3. Nginx Proxy Manager je nyní nastaven! Ujistěte se, že přenášíte porty 80 a 443 na vašem routeru do macvlan síť, kterou jsme vytvořili výše.

Chyba BAD GATEWAY

U některých lidí dochází při pokusu o přihlášení k chybám „špatné brány“. Po chvíli řešení tohoto problému (a několika užitečných návrhech v komentářích) existují skutečně dva způsoby, jak to opravit :

1. Pokud má váš NAS více síťových karet a máte k němu přiřazeno více IP adres, zadejte do souboru „config.json“ druhou IP adresu vašeho NAS.

2. Ponechte výchozí síťové rozhraní docker bridge připojené k oběma kontejnerům a použijte tuto IP adresu v souboru config.json.

3. Pomocí Nginx Proxy Manager

Nyní, když jsme nastavili Nginx Proxy Manager, je důležité vědět, jak jej používat! Vytvořil jsem tutoriál, který můžete sledovat a který vám ukáže, jak vystavit Plex a nastavit certifikát SSL. Výukový program je poměrně přímočarý, ale zdůrazňuje, jak můžete rychle, snadno a bezpečně odhalit prakticky jakýkoli webový server!

4. Závěr

Toto byl poměrně složitý tutoriál, ale doufám, že je dostatečně rozčleněný, aby byl snadno pochopitelný. Není normální, že musíte nastavit dva různé kontejnery Docker, aby jeden kontejner fungoval, ale podle mého názoru je to nejlepší způsob, jak zprovoznit Nginx Proxy Manager na zařízení Synology NAS.

Děkujeme, že jste si přečetli tutoriál. Pokud máte nějaké dotazy, zanechte je prosím v komentářích!


Docker

Jak ladit chyby Kubernetes „ImagePullBackOff“.

  1. Kde jsou obrázky, kontejnery a svazky Dockeru uloženy v hostitelském systému Linux?

  2. Správná instalace Dockeru na Ubuntu [Příručka pro začátečníky]

  3. 10 doporučených postupů zabezpečení Dockeru

Jak podepsat své obrázky dockeru, abyste zvýšili důvěru

  1. Jak zabezpečit citlivá data pomocí tajemství Docker Compose

  2. Jak spustit aplikaci .NET v Dockeru

  3. 21 základních příkazů, které by měl znát každý uživatel Dockeru

Jak nainstalovat Portainer na Synology NAS

  1. Jak zabezpečit TCP Socket Docker pomocí TLS

  2. Jak nainstalovat a nastavit Laravel pomocí Docker Compose na Ubuntu 20.04

  3. Co je Docker Container:Úvodní příručka pro začátečníky