bsmeding.nginx_docker
Aide au proxy inverse Nginx
Serveur proxy inverse NGINX
Le rôle est testé sur Ubuntu avec Docker installé via mon rôle bsmeding.docker sur la distribution Linux.
Il servait de frontend lors du déploiement de conteneurs Docker sur différentes plateformes. L'image par défaut provient de Linuxserver : https://docs.linuxserver.io/images/docker-nginx
Pour l’instant, un ensemble limité d'options de configuration est disponible. Elles seront ajoutées plus tard.
Configuration du proxy inverse
Pour chaque conteneur (ou autre service/serveur), vous pouvez ajouter une configuration proxy avec la liste de variables nginx__proxy_confs_subdomain
. Si vous redirigez vers des conteneurs, connectez-les au même réseau Docker pour faciliter la résolution de noms et augmenter la sécurité.
Cet exemple redirigera les requêtes entrantes pour dash.example.com
sur le port 80 vers le conteneur nommé dashboard
sur le port 9090 (http).
nginx__proxy_confs_subdomain:
- server_name: dash.example.com
listen: 80
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Fichiers de site
Si vous souhaitez copier un répertoire de site web, placez-le dans /files/nginx/sites/<site_directory>
ou /files/nginx/<inventory_hostname>/sites/<site_directory>
lorsque vous déployez plusieurs serveurs avec différents sites.
Fichiers de configuration de site
Si vous souhaitez que des fichiers de configuration de site spécifiques soient copiés, placez-les dans votre répertoire de playbook /files/nginx/site-confs/
. Ils doivent être dans le fichier de configuration de site nginx <site.conf>
.
Ou dans /files/nginx/<inventory_hostname>/site-confs/
pour séparer les configurations des hôtes.
https / ssl / Certificat
Si vous avez besoin de certificats, placez-les dans le répertoire de votre playbook sous files/nginx/certs/
et nommez-les website_url.crt
et website_url.key
.
Lorsque le fichier de clé est protégé par une phrase de passe, ajoutez cela à votre variable de sous-domaine pour qu'elle puisse être sécurisée par ansible-vault.
nginx__proxy_confs_subdomain:
- server_name: dash.example.com
listen: 80
listen_https: 443 # besoin d'activer https
cert_key_passphrase: 'sbsta261da' # exemple de phrase de passe du fichier cert.key si défini. Sinon, ne définissez pas cette variable
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Manage and run the Nginx container from Linuxserver(default).
ansible-galaxy install bsmeding.nginx_docker