elan.simple_nginx_reverse_proxy
Rôle Ansible pour une installation simple de proxy inverse Nginx
Ce rôle installe Nginx en tant que simple proxy inverse.
Variables de Rôle
Pour un aperçu complet des options de configuration, consultez les défauts.
Configuration du Proxy
Ce rôle vient avec une configuration par défaut qui redirige automatiquement vers HTTPS et qui vous permet de spécifier un simple bloc pour configurer Nginx :
nginx_proxy: |
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8080;
}
Certificats TLS
La configuration par défaut fournit des certificats simples et auto-signés s'il n'en existe pas. Veuillez vous assurer de les remplacer par vos propres certificats. Il suffit d'écraser les fichiers suivants :
/etc/nginx/tls/certificate.key;
/etc/nginx/tls/certificate.crt;
Configuration Avancée
Vous pouvez définir l'option nginx_config
pour écraser la configuration par défaut
et spécifier votre propre ensemble de fichiers de configuration.
Définissez une liste de champs src
et dest
spécifiant les modèles à déployer.
Le champ dest
spécifie toujours un emplacement relatif à /etc/nginx/
:
roles:
- role: elan.simple_nginx_reverse_proxy
nginx_config:
- src: nginx.conf
dest: nginx.conf
Soyez conscient que le rôle inclut un modèle nginx.conf
.
Spécifier src: nginx.conf
utilisera toujours le modèle inclus.
Configuration Liée à la Sécurité
Ce rôle peut ouvrir des ports pour Nginx dans firewalld ou ufw. Il peut également définir le booléen SELinux pour permettre à Nginx d'agir comme un proxy inverse. Ces paramètres sont désactivés par défaut et vous devez les activer explicitement :
configure_for_firewalld: true
configure_for_ufw: true
configure_for_selinux: true
Exemple de Playbook
Votre playbook pourrait ressembler à ceci :
---
- hosts: all
become: true
roles:
- role: elan.simple_nginx_reverse_proxy
configure_for_firewalld: true
Développement
Pour le développement et les tests, vous pouvez utiliser molecule. Avec podman comme pilote, vous pouvez l'installer comme ceci – de préférence dans un environnement virtuel :
pip install -r .dev_requirements.txt
Ensuite, vous pouvez créer les instances de test, appliquer la configuration Ansible (converger) et détruire les instances de test avec ces commandes :
molecule create
molecule converge
molecule destroy
Licence
Informations sur l'Auteur
ansible-galaxy install elan.simple_nginx_reverse_proxy