Nginx Proxy Manager
version: '3.3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- /srv/path/Files/NginxProxyManager/data:/data
- /srv/path/Files/NginxProxyManager/letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- /srv/path/Files/NginxProxyManager/data/mysql:/var/lib/mysql
Default creditentials:
Email: admin@example.com
Password: changeme
Explications des Concepts
Nginx Proxy Manager - Explications des Concepts
1. Proxy Hosts
Définition: Les "Proxy Hosts" sont des configurations utilisées pour rediriger le trafic entrant basé sur des noms de domaine (ou sous-domaines) vers des serveurs spécifiques sur votre réseau local ou Internet.
Utilité:
- Permet de configurer un reverse proxy pour servir plusieurs applications derrière une même IP publique.
- Simplifie la gestion de plusieurs sites web et applications avec des certificats SSL.
Exemple:
- Vous avez deux services :
- Une application Nextcloud sur
192.168.1.10:8080
. - Une interface web de Home Assistant sur
192.168.1.20:8123
.
- Une application Nextcloud sur
- Vous configurez des proxy hosts comme suit :
cloud.mondomaine.com
-> redirige vershttp://192.168.1.10:8080
.home.mondomaine.com
-> redirige vershttp://192.168.1.20:8123
.
- Ces redirections peuvent être sécurisées avec des certificats SSL via Let's Encrypt.
2. Redirection Hosts
Définition: Les "Redirection Hosts" sont des configurations pour rediriger le trafic d'une URL ou d'un domaine vers un autre.
Utilité:
- Simplifie la redirection de domaines ou sous-domaines.
- Peut être utilisé pour gérer des redirections temporaires ou permanentes.
Exemple:
- Vous souhaitez que tout le trafic vers
oldsite.com
soit redirigé versnewsite.com
. - Configuration :
oldsite.com
-> redirection vershttps://newsite.com
.- Type : Redirection permanente (301).
3. Streams
Définition: Les "Streams" sont utilisés pour gérer les connexions TCP/UDP directes. Contrairement aux proxy hosts, qui fonctionnent sur le protocole HTTP/S, les streams sont conçus pour des services réseau non-HTTP.
Utilité:
- Permet de rediriger des connexions pour des services tels que SSH, MQTT, ou des jeux vidéo utilisant des protocoles TCP/UDP.
Exemple:
- Vous avez un serveur SSH sur votre réseau local (
192.168.1.30:22
) et vous voulez permettre l'accès depuis Internet viassh.mondomaine.com
. - Configuration :
- Stream TCP :
ssh.mondomaine.com:22
->192.168.1.30:22
.
- Stream TCP :
4. 404 Hosts
Définition: Les "404 Hosts" servent à intercepter le trafic non désiré ou mal configuré (par exemple, des demandes pour des domaines non gérés par NPM) et à afficher une page 404 ou autre message personnalisé.
Utilité:
- Prévention d'accès indésiré à votre infrastructure.
- Fournir une réponse standardisée pour les domaines inconnus.
Exemple:
- Vous avez configuré plusieurs domaines, mais si quelqu’un essaie d’accéder à
nonexistant.mondomaine.com
, une page 404 générique s'affiche pour éviter toute exposition non intentionnelle.
5. Access Lists
Définition: Les "Access Lists" permettent de contrôler qui peut accéder à vos services en fonction des adresses IP ou des règles spécifiques.
Utilité:
- Ajoute une couche de sécurité pour limiter l’accès à certaines ressources.
- Peut être utilisé pour bloquer ou autoriser uniquement certaines IPs ou plages d’IPs.
Exemple:
- Vous configurez une liste d’accès pour l’interface admin de votre application :
- Autorise uniquement les IPs locales (
192.168.1.0/24
). - Bloque toutes les autres IPs.
- Autorise uniquement les IPs locales (
- Configuration pour
admin.mondomaine.com
:- Access List :
IP locale uniquement
. - Appliqué au proxy host correspondant.
- Access List :
Résumé des cas d’utilisation
- Proxy Hosts : Gérer plusieurs applications web sur une seule IP publique.
- Redirection Hosts : Simplifier la migration ou rediriger les visiteurs d’un ancien domaine à un nouveau.
- Streams : Gérer des connexions non-HTTP comme SSH ou MQTT.
- 404 Hosts : Empêcher l’accès à des domaines non configurés.
- Access Lists : Limiter l’accès aux ressources sensibles ou critiques.
Explanation of Concepts
Nginx Proxy Manager - Explanation of Concepts
1. Proxy Hosts
Definition: "Proxy Hosts" are configurations used to redirect incoming traffic based on domain names (or subdomains) to specific servers on your local network or the internet.
Purpose:
- Allows setting up a reverse proxy to serve multiple applications behind a single public IP.
- Simplifies managing multiple websites and applications with SSL certificates.
Example:
- You have two services:
- A Nextcloud application on
192.168.1.10:8080
. - A Home Assistant web interface on
192.168.1.20:8123
.
- A Nextcloud application on
- You configure proxy hosts as follows:
cloud.mydomain.com
-> redirects tohttp://192.168.1.10:8080
.home.mydomain.com
-> redirects tohttp://192.168.1.20:8123
.
- These redirections can be secured with SSL certificates via Let's Encrypt.
2. Redirection Hosts
Definition: "Redirection Hosts" are configurations to redirect traffic from one URL or domain to another.
Purpose:
- Simplifies redirecting domains or subdomains.
- Useful for managing temporary or permanent redirects.
Example:
- You want all traffic to
oldsite.com
to be redirected tonewsite.com
. - Configuration:
oldsite.com
-> redirect tohttps://newsite.com
.- Type: Permanent redirect (301).
3. Streams
Definition: "Streams" are used to handle direct TCP/UDP connections. Unlike proxy hosts, which work on HTTP/S protocols, streams are designed for non-HTTP network services.
Purpose:
- Enables redirecting connections for services like SSH, MQTT, or games using TCP/UDP protocols.
Example:
- You have an SSH server on your local network (
192.168.1.30:22
) and want to allow access from the internet viassh.mydomain.com
. - Configuration:
- Stream TCP:
ssh.mydomain.com:22
->192.168.1.30:22
.
- Stream TCP:
4. 404 Hosts
Definition: "404 Hosts" are used to intercept unwanted or misconfigured traffic (e.g., requests for domains not handled by NPM) and display a 404 page or other custom message.
Purpose:
- Prevent unauthorized access to your infrastructure.
- Provide a standardized response for unknown domains.
Example:
- You have configured several domains, but if someone tries to access
nonexistent.mydomain.com
, a generic 404 page is displayed to avoid accidental exposure.
5. Access Lists
Definition: "Access Lists" are used to control who can access your services based on IP addresses or specific rules.
Purpose:
- Adds a layer of security to restrict access to certain resources.
- Can be used to block or allow specific IPs or IP ranges.
Example:
- You configure an access list for the admin interface of your application:
- Allow only local IPs (
192.168.1.0/24
). - Block all other IPs.
- Allow only local IPs (
- Configuration for
admin.mydomain.com
:- Access List:
Local IPs only
. - Applied to the corresponding proxy host.
- Access List:
Summary of Use Cases
- Proxy Hosts: Manage multiple web applications on a single public IP.
- Redirection Hosts: Simplify migration or redirect visitors from an old domain to a new one.
- Streams: Handle non-HTTP connections like SSH or MQTT.
- 404 Hosts: Prevent access to non-configured domains.
- Access Lists: Restrict access to sensitive or critical resources.
No Comments