Nginx Proxy Manager
Proxy Inverse
Nginx Proxy Manager - NPM - est un outil open source conçu pour simplifier la gestion d'un serveur proxy inverse basé sur Nginx, ainsi que pour la configuration de certificats SSL/TLS.
Avec un serveur proxy inversé et un nom de domaine redirigé vers ton serveur, tu peux exposer tes applications sur le Web et te connecter à celles-ci de n'importe où.
SOMMAIRE
1. Efficience
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 pour 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.
Nginx Proxy Manager sert à centraliser et simplifier la gestion du trafic web entrant, en offrant une solution accessible pour l'auto-hébergement, la sécurisation des services via HTTPS, et la redirection intelligente du trafic vers des serveurs internes.
2. Pré-requis
Avant de procéder à l'installation de l'application NginxProxyManager, il te faudra au préalable :
2.1. Changer le port d'écoute 80, par défaut lors de l'installation de ZimaOS, pour l'installation de NPM sur cette machine.
2.2. Créer ou disposer d'un Nom De Domaine et rediriger celui ci vers l'IP publique de la Box du réseau local de votre serveur.
2.3. Ouvre les ports 443 et 80 pour le serveur sur ta Box Routeur. Tu dois créer deux 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 ligne pour le port 443 interne et externe - en TCP.
3. Installation
La pré-configuration peut être opérée avec deux méthodes :
Soit avec la Boutique d'applications, tape "nginx" dans la barre de recherche, sélectionne Nginx Proxy Manager et ouvre l'onglet Installation personnalisée.
Soit en copiant-collant le fichier YAML proposé sur le site du développeur ou celui ci-dessous (ouvre la bascule)
YAML
NPM
services:
nginxproxymanager:
image: jc21/nginx-proxy-manager
deploy:
resources:
reservations:
memory: 128MB
network_mode: bridge
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
container_name: nginxproxymanager
x-casaos:
id: org.icewhale.nginxproxymanager
main: nginxproxymanager
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@gh-pages/apps/org.icewhale.nginxproxymanager/assets/icon.svg
title:
en_US: Nginx Proxy Manager
custom: Nginx Proxy Manager
index: /
port_map: "81"
version: null
scheme: http
hostname: ""
repo_id: zimaos-appstore3.1. Formulaire
Sur l'onglet Formulaire, si tu as choisis l'application par la Boutique d'applications, supprime à Paramètres de base sur la fenêtre Tag ce qui est inscrit (version de l'image obsolète) afin de faire apparaître en filigrane Facultatif. L'image sera automatiquement mise en "latest".
3.2. Installer
Valide avec le bouton Installer et patiente le temps du chargement de l'image et de la création du dossier de configuration nginxproxymanager dans AppData.
Clique à présent sur Ouvrir (si via l'App Store) ou sur la nouvelle tuile créée (si via Application personnalisée).
4. CONFIGURATION
4.1. Création du compte
Sur la page de connexion, tu es invité à créer ton compte administrateur. Aussi, tu peux indiquer la langue et le mode sombre ou clair.
4.2. Modification
Sur la page d'atterrissage, tu pourras modifier ton profil si besoin.
5. UTILISATION
5.1. Certificat SSL
Dans un premier temps, tu dois certifier et obtenir un certificat SSL pour le(s) Nom(s) De Domaine (NDD) et / ou les sous domaines créés chez ton registrar.
1. Clique sur l'onglet Certificats puis sur Ajouter un Certificat et, Let's Encrypt via HTTP
2. Inscris ton NDD dans la fenêtre (1) puis clique sur le bandeau Create "..." et Test (2)... et enfin Enregistrer (3).
La fenêtre te rappelle que "Ces domaines doivent déjà être configurés pour pointer vers cette installation".
3. Un pop-up t'informe de la réussite de la création du certificat et une ligne est créée sur la page Certificats.
La troisième colonne indique la date d'expiration du certificat. Il devra être renouvellé à cette date et le sera automatiquement si ton port 80 est ouvert à cette période.
Il est indiqué comme Non utilisé tant qu'une application n'est pas liée.
5.2. Lier une application
Pour exposer une application sur le web avec le NDD créé et certifié (HTTPS sur le port 443), il te faut "lier" le port d'écoute local à ce Nom De Domaine certifié. Aussi, tu peux lier des applications qui sont installées sur un autre serveur de ton même réseau local.
1. Pour l'exemple de ce guide, le port attaché à l'application, (qui peut être exposée sur Internet), est le 8086 et installée sur le serveur du réseau avec l'ip locale 192.168.1.9
Pour lier cette application au nom de domaine choisi avec NPM (NginxProxyManager),
2. Ouvre l'onglet Hôtes -> Hôte proxy dans le menu déroulant et , Ajouter Hôte proxy
Sur le pop-up qui s'affiche à l'onglet Détails,
3. Indique sur la fenêtre Nom de domaine (1), le NDD certifié et disponible précédemment,
4. Sur la ligne suivante (2) en HTTP, l'IP locale du serveur concerné et le port local de l'application,
5. Une partie des applications (3) nécessite Websockets (connexions bidirectionnelles et en temps réel) et bloque les exploits (par sécurité), les ressouces du cache ne sont utiles uniquement pour des applications avec des interfaces statiques (plate-forme de Blog ou Tableau de bord).
6. Passe maintenant, sur l'onglet SSL (4) et choisis le Certificat SSL créé, disponible et correspondant à celui indiqué sur l'onglet Détails.
7. Active
- Forcer SSL qui redirige automatiquement le trafic HTTP vers HTTPS
- HSTS activé qui ajoute l'en-tête
Strict-Transport-Securityaux réponses, interdisant aux navigateurs d'établir des connexions HTTP non sécurisées pour une durée définie.- HTTP/2 Support qui active le protocole HTTP/2 sur le port 443, accélérant le chargement des pages pour les clients connectés.
- Sous-domaines HSTS est optionnel pour forcer l'utilisation HTTPS pour les sous-domaines mais plus particulièrement pour les wildcards.
8. Clique sur (5) le bouton Enregister pour valider la configuration. Tu pourras la modifier, si besoin, par la suite.
9. Sur la page Hôte proxy, (6) ta configuration est répertoriée.
Ouvre, à présent, ton application sur le NDD configuré en HTTPS










