elan.simple_nginx_reverse_proxy

Rôle Ansible pour une installation simple de proxy inverse Nginx

molecule

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

BSD-3-Clause

Informations sur l'Auteur

ELAN e.V

À propos du projet

Installs and prepares Nginx as reverse proxy

Installer
ansible-galaxy install elan.simple_nginx_reverse_proxy
Licence
bsd-3-clause
Téléchargements
24.6k
Propriétaire
elan e.V. is a German non-profit organization helping universities and other higher education organizations with all things related to e-learning