GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Nginx Proxy Manager Synology NAS Instructions de configuration !

Aujourd'hui, nous allons voir comment configurer Nginx Proxy Manager sur un Synology NAS.

Si vous exposez des services sur votre réseau, l'utilisation d'un proxy inverse est un excellent moyen d'augmenter la sécurité et les performances. Un proxy inverse est un serveur qui se trouve devant vos serveurs Web et transmet les demandes des clients aux serveurs Web. En termes simples, vous n'avez qu'à exposer un serveur (en utilisant les ports 80/443) et vous pourrez exposer autant de services Web que vous le souhaitez.

Voici un exemple de flux réseau d'un reverse proxy (simplifié) :

N'oubliez pas qu'il s'agit d'une alternative au portail d'applications de Synology où vous pouvez configurer un proxy inverse. Si vos intentions sont de seulement créez un proxy inverse, vous voudrez peut-être l'utiliser à la place, car aucune configuration n'est nécessaire (autre que les paramètres du proxy inverse) !

1. Instructions de configuration - Nginx Proxy Manager Synology NAS

Ce didacticiel utilisera un Synology NAS et Docker. Étant donné que Nginx Proxy Manager utilise une base de données, nous devrons installer deux conteneurs différents. Un pour notre base de données et un pour Nginx Proxy Manager. Par défaut, Synology utilise les ports 80 et 443, donc l'utilisation de notre interface réseau hôte n'est pas idéale. Pour cette raison, nous allons créer une interface réseau macvlan (dans Docker) qui nous permettra de contourner ce conflit de port.

1. Installez Docker du paquet de Synology Centre .

2. Nous devons créer quelques dossiers dans lesquels nous allons mapper nos conteneurs Docker. Par défaut, le package Docker créera un dossier nommé docker une fois l'installation terminée. À l'intérieur de ce dossier, nous allons créer un dossier nommé mariadb et nginx-proxy .

3. À l'intérieur du nginx-proxy dossier, créez deux sous-dossiers nommés data et letsencrypt .

4. Créer et télécharger un fichier nommé config.json au nginx-proxy dossier. Ce fichier doit contenir le contenu ci-dessous. Assurez-vous de remplacer SYNOLOGY_NAS_IP par l'adresse IP de votre Synology NAS !

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

5. La configuration du dossier est terminée !

1.1 Configuration de l'interface réseau Macvlan et Bridge Docker

1. Assurez-vous que vous pouvez vous connecter en SSH à votre Synology NAS. Ouvrir Contrôle Panneau , sélectionnez Terminal et SNMP , et Activer SSH un service. Si vous utilisez le pare-feu de Synology, assurez-vous d'autoriser le trafic du port 22. J'ai créé une vidéo expliquant comment vous connecter en SSH à votre Synology NAS si vous rencontrez des problèmes.

2. SSH dans votre Synology NAS à l'aide de votre outil SSH préféré.

3. Nous devons créer une interface réseau Docker macvlan. Tout d'abord, nous devons déterminer quelles interfaces réseau existent actuellement (sur votre Synology NAS) et noter le nom de l'adaptateur. Pour ce faire, exécutez la commande ci-dessous et notez le nom de l'interface réseau qui contient l'adresse IP de votre Synology NAS (dans cet exemple, la mienne est eth0).

ifconfig

4. Ensuite, vous devez exécuter la commande ci-dessous tout en remplaçant le sous-réseau correct (la plupart sont 192.168.1.0/24 ou 192.168.0.0/24 par défaut). Vous devez également choisir une adresse IP que vous souhaitez utiliser et qui n'est pas utilisée actuellement. J'utiliserai 192.168.1.198. REMARQUE  :npm_network sera le nom du réseau (vous pouvez le remplacer comme vous le souhaitez).

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. Notre réseau est maintenant créé. Nous pouvons maintenant quitter notre session SSH et la désactiver dans DSM (si vous ne l'utilisez pas). Si vous le désactivez et avez créé une règle de pare-feu pour lui, vous devez également désactiver la règle de pare-feu.

6. Ensuite, nous devons créer un réseau de ponts. C'est ce qui permettra à notre hébergeur (NAS) de communiquer avec notre conteneur Nginx Proxy Manager. Ouvrez Docker et accédez au Réseau section. Sélectionnez Ajouter et entrez un sous-réseau qui n'est pas utilisé actuellement. L'adresse IP du pont que je crée sera 192.168.10.2.

7. Les deux interfaces réseau sont maintenant configurées !

1.2 Installation et configuration de MariaDB

Nginx Proxy Manager nécessite la configuration d'une base de données pour qu'il fonctionne correctement. Bien que Synology propose un package MariaDB, j'aime le séparer en créant un deuxième conteneur Docker pour la base de données uniquement.

1. Ouvrez Docker , accédez au registre , et recherchez MariaDB . Téléchargez la dernière version de MariaDB .

2. Une fois l'image téléchargée, accédez à Image section, et double-cliquez sur mariadb pour configurer un nouveau conteneur.

3. Donnez un nom au conteneur, puis sélectionnez Avancé Paramètres .

4. Sélectionnez Activer le redémarrage automatique .

5. Dans le volume section, sélectionnez Ajouter Dossier puis sélectionnez le mariadb dossier que nous avons créé précédemment. Dans le Mont Chemin section, tapez /var/lib/mysql .

6. Dans le port Paramètres section, remplacez le port local par 3306 . REMARQUE  :Si vous devez utiliser autre chose que 3306 comme port, vous devez mettre à jour le fichier config.json fichier que nous avons créé précédemment.

7. Dans l'environnement section, nous devons créer quatre variables. Ces variables stockent notre mot de passe root, le nom de la base de données, le nom d'utilisateur et le mot de passe. REMARQUE  :si vous ne souhaitez pas utiliser les valeurs ci-dessous (nginxproxymanager), vous pouvez les modifier comme bon vous semble. Assurez-vous simplement de mettre à jour le fichier config.json que nous avons créé précédemment avec les nouvelles informations.

8. Sélectionnez Appliquer et créer le conteneur. La base de données est maintenant créée !

1.3 Configuration du pare-feu – Nginx Proxy Manager Synology NAS

Puisque nous utilisons une interface réseau macvlan, il n'y a pas de règles de pare-feu que nous devons configurer pour Nginx Proxy Manager. Cependant, le conteneur MariaDB utilise l'interface réseau hôte et, pour cette raison, a besoin d'une règle de pare-feu pour autoriser le trafic. Si vous n'avez pas configuré le pare-feu de Synology, j'ai créé un didacticiel expliquant comment vous pouvez le faire (et je vous suggère de le faire).

1. Ouvrez le Contrôle Panneau , sélectionnez Sécurité , puis Pare-feu . Sélectionnez Modifier les règles et ajoutez un autoriser règle pour le port 3306 . REMARQUE  :Si vous utilisez un port différent dans le fichier config.json que nous avons créé ci-dessus, vous devrez utiliser ce port au lieu de 3306.

1.4 Configuration du conteneur Nginx Proxy Manager – Synology NAS

1. Ouvrez Docker , accédez au registre , et recherchez nginx-proxy-manager . Téléchargez la dernière version de jc21/nginx-proxy-manager .

2. Une fois l'image téléchargée, accédez à Image section et double-cliquez sur jc21/nginx-proxy-manager pour configurer un nouveau conteneur.

3. Donnez un nom au conteneur et sélectionnez Avancé Paramètres .

4. Sélectionnez Activer le redémarrage automatique .

5. Dans le volume section, nous devons créer deux mappages de dossiers et un mappage de fichiers. Sélectionnez Ajouter un dossier et ajoutez les données dossier et ajoutez le chemin de montage /data . Ensuite, sélectionnez le letsencrypt dossier et ajoutez le chemin de montage /etc/letsencrypt . Sélectionnez Ajouter Fichier et sélectionnez le config.json fichier que nous avons créé précédemment avec le chemin de montage /app/config/production.json .

6. Sous Réseau , ajoutez le npm_network et npm_bridge réseaux et supprimer pont.

7. Faites correspondre le port Paramètres être comme l'image ci-dessous. Si vous utilisez 4443, 8080 ou 8081 pour quoi que ce soit, vous pouvez remplacer les ports par quelque chose qui n'est pas utilisé actuellement.

8. Sélectionnez Appliquer et créez le conteneur ! Donnez quelques minutes au conteneur et vous devriez pouvoir accéder au portail d'administration Web via l'adresse IP npm_network et le port 81 !

http://[npm_network]:81

2. Configuration du gestionnaire de proxy Nginx – Synology NAS

1. Connectez-vous avec l'adresse e-mail [email protected] et le mot de passe changeme .

2. Lorsque vous y êtes invité, modifiez votre nom et votre adresse e-mail, puis configurez votre mot de passe.

3. Nginx Proxy Manager est maintenant configuré ! Assurez-vous de transférer les ports 80 et 443 sur votre routeur au macvlan réseau que nous avons créé ci-dessus.

ERREUR DE PASSERELLE INCORRECTE

Certaines personnes rencontrent des erreurs de "mauvaise passerelle" lorsqu'elles essaient de se connecter. Après avoir résolu ce problème pendant un certain temps (et quelques suggestions utiles dans les commentaires), il existe en réalité deux façons de résoudre ce problème. :

1. Si votre NAS possède plusieurs cartes réseau et que plusieurs adresses IP lui sont attribuées, dans le fichier "config.json", saisissez l'autre adresse IP de votre NAS.

2. Gardez l'interface réseau Docker Bridge par défaut connectée aux deux conteneurs et utilisez cette adresse IP dans le fichier config.json.

3. Utilisation du gestionnaire de proxy Nginx

Maintenant que nous avons configuré Nginx Proxy Manager, il est important de savoir comment l'utiliser ! J'ai créé un tutoriel que vous pouvez suivre et qui vous montrera comment exposer Plex et configurer un certificat SSL. Le didacticiel est assez simple, mais montre comment vous pouvez exposer pratiquement n'importe quel serveur Web rapidement, facilement et en toute sécurité !

4. Conclusion

C'était un tutoriel assez complexe, mais j'espère qu'il est suffisamment décomposé pour être facilement compris. Il n'est pas normal que vous deviez configurer deux conteneurs Docker différents pour qu'un conteneur fonctionne, mais à mon avis, c'est la meilleure façon de faire fonctionner Nginx Proxy Manager sur un Synology NAS.

Merci d'avoir lu le tutoriel. Si vous avez des questions, n'hésitez pas à les laisser dans les commentaires !


Docker
  1. Comment exécuter PHPMyAdmin dans un conteneur Docker

  2. Installer Docker et apprendre la manipulation de base des conteneurs dans CentOS et RHEL 8/7 - Partie 1

  3. Terraform – Déployer Python Lambda (image conteneur)

  4. Gardez vos images Docker gérables avec Docker Image Prune

  5. Comment mettre à jour Docker Compose sur un Synology NAS

Comment utiliser Docker Enregistrer l'image et l'exporter pour le partage

Sauvegardez un PC Linux sur un Synology NAS à l'aide de Veeam !

Comment installer MongoDB sur Linux Mint 20

Comment installer Varnish Cache pour Apache sur CentOS/RHEL 8

La commande Linux pwd

Configurer les sauvegardes cPanel/WHM pour votre serveur