Avec un serveur proxy inversé et un nom de domaine redirigé vers votre serveur, vous pourrez exposer vos services Web – applications – de votre réseau privé et vous connecter à celles-ci de n’importe où.
Nginx Proxy Manager – NPM – est un outil open source conçu pour simplifier la gestion d’un serveur proxy inverse – reverse proxy – basé sur Nginx, ainsi que la configuration de certificats SSL/TLS. Il fournit une interface web graphique qui permet aux utilisateurs, même non expérimentés en administration système ou en ligne de commande, de configurer facilement des hôtes virtuels, des redirections, des règles de sécurité et la terminaison SSL.
C'est ici https://nginxproxymanager.com/
1.1. Créer un Nom De Domaine et rediriger celui ci vers l’IP publique de la Box du réseau local de votre serveur.
1.2. Changer le port d’écoute 80 par défaut, lors de l’installation de ZimaOS, si vous installer NPM sur cette machine.
1.3. Sur la Box/Routeur, domestique ou professionnelle, de votre opérateur – je rappelle que vos devez disposer d’une IPv4 publique dédiée et fixe – vous accédez à son panneau de configuration
Vous fixez l’adresse IP locale attribuée à votre serveur – du type 192.168.1.x – en bail permanent afin que cette dernière ne change plus en cas de redémarrage de la box ou du serveur ou expiration du bail temporaire. Suivant le modèle de votre Box, cette opération s’effectue au niveau de l’onglet DHCP ou Réseau local ou Appareils connectés.
Si vous souhaitez changer cette IP locale, par exemple le DHCP a attribué l’IP 192.168.1.166 et préféreriez 192.168.1.20, inscrivez cette nouvelle IP locale lors de la création du bail permanent sur votre Box et, redémarrez votre serveur pour qu’elle soit prise en compte.
Ouvrez les ports 443 et 80 pour le serveur. L’onglet de la Box se nomme souvent NAT ou NAT/PAT ou Sécurité. Vous devez créer 2 lignes. Une première ligne sur l’adresse IP locale et/ou Nom du Serveur pour le port 80 interne et externe et une deuxième pour le port 443 interne et externe. Par exemple, sur l’illustration le serveur est à l’adresse locale 192.168.1.7 et sont ouverts les deux ports 443 et 80 en TCP. Concernant la fenêtre Source, laissez par défaut Toutes ou *

Si cette option d’attribution de ports n’est pas présente sur votre Box, c’est sans doute que vous êtes sur une IP Publique partagée souvent appelée CGNAT, dûe à la pénurie des IPv4. Vous devrez obtenir une IPv4 dédiée.
Sur les Box domestiques, la fonction UPnP est activée par défaut – que vous trouvez souvent à l’onglet NAT – cette fonction UPnP permet d’ouvrir automatiquement des ports d’écoute à la demande de vos logiciels serveurs par exemple Plex Serveur, ou certains serveurs de Jeux en ligne ou encore les NAS commerciaux etc. En terme de sécurité, il est conseillé de désactiver cette fonction et d’affecter les ports concernés manuellement si nécessaire et dans la mesure où cette manip n’affecte pas le fonctionnement de vos appareils connectés.
2.1. Cliquez sur l’icône + en haut à droite de la page d’accueil au dessus des tuiles et sélectionnez Installer une application personnalisée.
2.2. La fenêtre des paramètres de votre application s’ouvre et cliquez sur l’icône flèche vers le carré en haut à droite, avec pour libellé Importer
2.3. Le pop-up vous propose d’importer votre configuration avec un fichier YAML ou de copier-coller celle-ci dans la fenêtre dédiée. Vous pouvez agrandir cette fenêtre en sélectionnant les deux traits en bas à droite.
2.4. Copier-coller dans la fenêtre le script de configuration ci dessous.
Cliquez sur Appliquer, puis sur OK sur le Pop-up qui s’affiche
2.5. Sur le Panneau Paramètres, maintenant pré-rempli, modifiez,
L’espace Web UI en inscrivant en dur l’IP locale du serveur qui s’affiche en filigrane

2.6. Cliquez sur Installer et patientez le temps de l’installation

3.2. Sur l’interface vous pouvez modifier le profil si vous le souhaitez. L’interface n’est pas encore traduite en français.

Les deux principales fonctions de cette application sont
1. De générer des certificats SSL, via Let’s Encrypt, pour vos NDD redirigés sur votre serveur
2. De faire « correspondre » à chaque NDD certifié, un hôte – votre app web – afin de l’exposer sur le web et de la joindre en https
La fonction via DNS permet de générer des Wildcards qui sera le sujet d’un prochain tuto.

Inscrivez votre NDD dans la fenêtre puis cliquez sur le bandeau Create « … » et validez avec Save
La fenêtre vous rappelle que « Ces domaines doivent déjà être configurés pour pointer vers cette installation ».

Le certificat SSL pour ce NDD est créé en s’affichant dans la liste Certificates. Vous pouvez renouveler cette opération si vous avez plusieurs NDD redirigés vers votre serveur. La colonne de droite STATUT m’indique – Not Used – qu’il n’est pas attaché à une application locale actuelle ou future.


Sur la fenêtre qui s’ouvre à l’onglet Details vous indiquez
. Dans la fenêtre Domain Name, le Nom De Domaine certifié qui sera utilisé pour se connecter à l’App
. Dans la fenêtre Sheme si votre App, sur le réseau local, se connecte en HTTP, le plus général, ou sur un port HTTPS
. Dans la fenêtre IP, indiquez l’IP de la machine serveur, sur votre réseau local, sur laquelle est ou sera installée l’App
. Dans la fenêtre Port, indiquez le numéro de Port, en local pour http, sur laquelle s’ouvre votre App
Indiquez les options nécessaires au fonctionnement de l’app en https

Ne validez pas encore et, ouvrez l’onglet SSL. Dans la fenêtre, sélectionnez le Nom De Domaine certifié et correspondant au NDD indiqué précédemment à l’onglet Details. Validez Force SSL et d’autres options si nécessaires. Puis validez avec le bouton SAVE

La récapitulation de vos apps attachées à un NDD s’affiche sur la page Proxy Hosts. Online indique simplement que la configuration est fonctionnelle même si votre application n’est pas encore déployée.

Nginx Proxy Manager – NPM – est un outil open source conçu pour simplifier la gestion d’un serveur proxy inverse – reverse proxy – basé sur Nginx, ainsi que la configuration de certificats SSL/TLS. Il fournit une interface web graphique qui permet aux utilisateurs, même non expérimentés en administration système ou en ligne de commande, de configurer facilement des hôtes virtuels, des redirections, des règles de sécurité et la terminaison SSL.
C'est ici https://nginxproxymanager.com/
1. Configurations préalables
Avant de procéder à l’installation de l’application NginxProxyManager, il vous faudra au préalable1.1. Créer un Nom De Domaine et rediriger celui ci vers l’IP publique de la Box du réseau local de votre serveur.
1.2. Changer le port d’écoute 80 par défaut, lors de l’installation de ZimaOS, si vous installer NPM sur cette machine.
1.3. Sur la Box/Routeur, domestique ou professionnelle, de votre opérateur – je rappelle que vos devez disposer d’une IPv4 publique dédiée et fixe – vous accédez à son panneau de configuration
Vous fixez l’adresse IP locale attribuée à votre serveur – du type 192.168.1.x – en bail permanent afin que cette dernière ne change plus en cas de redémarrage de la box ou du serveur ou expiration du bail temporaire. Suivant le modèle de votre Box, cette opération s’effectue au niveau de l’onglet DHCP ou Réseau local ou Appareils connectés.
Si vous souhaitez changer cette IP locale, par exemple le DHCP a attribué l’IP 192.168.1.166 et préféreriez 192.168.1.20, inscrivez cette nouvelle IP locale lors de la création du bail permanent sur votre Box et, redémarrez votre serveur pour qu’elle soit prise en compte.
Ouvrez les ports 443 et 80 pour le serveur. L’onglet de la Box se nomme souvent NAT ou NAT/PAT ou Sécurité. Vous devez créer 2 lignes. Une première ligne sur l’adresse IP locale et/ou Nom du Serveur pour le port 80 interne et externe et une deuxième pour le port 443 interne et externe. Par exemple, sur l’illustration le serveur est à l’adresse locale 192.168.1.7 et sont ouverts les deux ports 443 et 80 en TCP. Concernant la fenêtre Source, laissez par défaut Toutes ou *

Si cette option d’attribution de ports n’est pas présente sur votre Box, c’est sans doute que vous êtes sur une IP Publique partagée souvent appelée CGNAT, dûe à la pénurie des IPv4. Vous devrez obtenir une IPv4 dédiée.
Sur les Box domestiques, la fonction UPnP est activée par défaut – que vous trouvez souvent à l’onglet NAT – cette fonction UPnP permet d’ouvrir automatiquement des ports d’écoute à la demande de vos logiciels serveurs par exemple Plex Serveur, ou certains serveurs de Jeux en ligne ou encore les NAS commerciaux etc. En terme de sécurité, il est conseillé de désactiver cette fonction et d’affecter les ports concernés manuellement si nécessaire et dans la mesure où cette manip n’affecte pas le fonctionnement de vos appareils connectés.
2. Installer Nginx Proxy Manager
Bien qu’il y ait l’application dans le magasin d’Application mais basée sur l’ancienne version, je vous propose cette configuration qui permet de disposer de l’ensemble des éléments nécessaires à renseigner.2.1. Cliquez sur l’icône + en haut à droite de la page d’accueil au dessus des tuiles et sélectionnez Installer une application personnalisée.
2.2. La fenêtre des paramètres de votre application s’ouvre et cliquez sur l’icône flèche vers le carré en haut à droite, avec pour libellé Importer
2.3. Le pop-up vous propose d’importer votre configuration avec un fichier YAML ou de copier-coller celle-ci dans la fenêtre dédiée. Vous pouvez agrandir cette fenêtre en sélectionnant les deux traits en bas à droite.
2.4. Copier-coller dans la fenêtre le script de configuration ci dessous.
Code:
name: nginxproxymanager
services:
nginxproxymanager:
cpu_shares:
command: []
container_name: nginxproxymanager
deploy:
resources:
limits:
memory:
reservations:
memory:
devices: []
image: jc21/nginx-proxy-manager:latest
labels:
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/NginxProxyManager/icon.png
ports:
- target: 80
published: "80"
protocol: tcp
- target: 443
published: "443"
protocol: tcp
- target: 81
published: "81"
protocol: tcp
restart: unless-stopped
volumes:
- type: bind
source: /DATA/AppData/nginxproxymanager/data
target: /data
- type: bind
source: /DATA/AppData/nginxproxymanager/etc/letsencrypt
target: /etc/letsencrypt
devices: []
cap_add: []
environment: []
network_mode: bridge
privileged: false
x-casaos:
architectures:
- amd64
- arm64
- arm
author:
category: Network
description:
fr_fr: Nginx Proxy Manager est un outil simple et puissant pour vous aider à
héberger plusieurs sites Web sur un seul serveur.
developer: Nginx Proxy Manager
hostname:
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/NginxProxyManager/icon.png
index: /
is_uncontrolled: false
main: nginxproxymanager
port_map: "81"
scheme: http
screenshot_link:
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/NginxProxyManager/screenshot-1.jpg
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/NginxProxyManager/screenshot-2.jpg
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/NginxProxyManager/screenshot-3.jpg
store_app_id: nginxproxymanager
tagline:
fr_fr: Gestion des hôtes proxy Nginx avec une interface simple et puissante.
thumbnail: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/NginxProxyManager/thumbnail.png
title:
custom: "NGINX PROXY MANAGER"
en_us: Nginx Proxy Manager
Cliquez sur Appliquer, puis sur OK sur le Pop-up qui s’affiche
2.5. Sur le Panneau Paramètres, maintenant pré-rempli, modifiez,
L’espace Web UI en inscrivant en dur l’IP locale du serveur qui s’affiche en filigrane

2.6. Cliquez sur Installer et patientez le temps de l’installation
3. Première configuration
3.1. Cliquez sur la nouvelle tuile créée. Un page web s’ouvre et indiquez – pour création de votre compte administrateur – un nom – une adresse courriel et un mot de passe. Puis SAVE.
3.2. Sur l’interface vous pouvez modifier le profil si vous le souhaitez. L’interface n’est pas encore traduite en français.

4. Lier vos Noms De Domaines – NDD
Les deux principales fonctions de cette application sont
1. De générer des certificats SSL, via Let’s Encrypt, pour vos NDD redirigés sur votre serveur
2. De faire « correspondre » à chaque NDD certifié, un hôte – votre app web – afin de l’exposer sur le web et de la joindre en https
4.1. Générer un certificat SSL pour votre NDD
Cliquez sur l’onglet Certificates puis sur Add Certificate -> Let’s Encrypt via HTTPLa fonction via DNS permet de générer des Wildcards qui sera le sujet d’un prochain tuto.

Inscrivez votre NDD dans la fenêtre puis cliquez sur le bandeau Create « … » et validez avec Save
La fenêtre vous rappelle que « Ces domaines doivent déjà être configurés pour pointer vers cette installation ».

Le certificat SSL pour ce NDD est créé en s’affichant dans la liste Certificates. Vous pouvez renouveler cette opération si vous avez plusieurs NDD redirigés vers votre serveur. La colonne de droite STATUT m’indique – Not Used – qu’il n’est pas attaché à une application locale actuelle ou future.

4.2. Attacher une Application au NDD
Pour configurer votre application sur le web, sélectionnez le second onglet Hosts et, sur le Bouton Add Proxy Host
Sur la fenêtre qui s’ouvre à l’onglet Details vous indiquez
. Dans la fenêtre Domain Name, le Nom De Domaine certifié qui sera utilisé pour se connecter à l’App
. Dans la fenêtre Sheme si votre App, sur le réseau local, se connecte en HTTP, le plus général, ou sur un port HTTPS
. Dans la fenêtre IP, indiquez l’IP de la machine serveur, sur votre réseau local, sur laquelle est ou sera installée l’App
. Dans la fenêtre Port, indiquez le numéro de Port, en local pour http, sur laquelle s’ouvre votre App
Indiquez les options nécessaires au fonctionnement de l’app en https

Ne validez pas encore et, ouvrez l’onglet SSL. Dans la fenêtre, sélectionnez le Nom De Domaine certifié et correspondant au NDD indiqué précédemment à l’onglet Details. Validez Force SSL et d’autres options si nécessaires. Puis validez avec le bouton SAVE

La récapitulation de vos apps attachées à un NDD s’affiche sur la page Proxy Hosts. Online indique simplement que la configuration est fonctionnelle même si votre application n’est pas encore déployée.
