hispanico.nginx_revproxy

ansible-role-nginx_revproxy

Installe et configure Nginx en tant que proxy inverse pour plusieurs sites web.

GitHub Qualité Téléchargements Galaxy Version
CI qualité téléchargements Galaxy Version

Exigences

Ce rôle nécessite Ansible 2.4 ou supérieur.

Variables de Rôle

Valeurs par défaut :

nginx_revproxy_sites:                                         # Liste des sites à proxy inversé
  default:                                                    # Définir le site par défaut pour retourner 444 (Connexion fermée sans réponse)
    ssl: false                                                # Mettre à vrai si vous souhaitez rediriger http vers https
    letsencrypt: false

  example.com:                                                # Nom de domaine
    domains:                                                  # Liste des alias de server_name
      - example.com
      - www.example.com
    upstreams:                                                # Liste des Upstreams
      - { backend_address: 192.168.0.100, backend_port: 80 }
      - { backend_address: 192.168.0.101, backend_port: 8080 }
    auth:                                                     # Définissez ce bloc pour un utilisateur/mot de passe HTTP unique, ou laissez non défini pour des vhosts non authentifiés
      login: myusername
      password: mysecretpassword
    extra_locations:                                           # Définissez ce bloc pour ajouter une localisation supplémentaire, ou laissez-le non défini si pas de localisation supplémentaire nécessaire
      websocket:                                              # nom de la localisation supplémentaire
        upstreams:                                            # liste des upstreams pour la localisation supplémentaire
          - { backend_address: 192.168.0.102, backend_port: 8088 }
    listen: 9000                                              # Spécifiez le port sur lequel vous souhaitez écouter le HTTP clair, ou laissez non défini pour 80
    ssl: false                                                # Mettre à vrai si vous souhaitez rediriger http vers https
    letsencrypt: false                                        # Mettre à vrai si vous souhaitez utiliser letsencrypt
    conn_upgrade: true                                        # Définir les valeurs de l'en-tête de mise à niveau de connexion
    acls:                                                     # Limiter l'accès à certaines adresses clients (les valeurs peuvent être adresse, CIDR, unix ou tout)
      - { mode: allow, value: 192.168.0.1 }
      - { mode: deny, value: all }

  example.org:                                                # Nom de domaine
    domains:                                                  # Liste des alias de server_name
      - example.org
      - www.example.org
    upstreams:                                                # Liste des Upstreams
      - { backend_address: 192.168.0.200, backend_port: 80 }
      - { backend_address: 192.168.0.201, backend_port: 8080 }
    listen: 9000                                              # Spécifiez le port sur lequel vous souhaitez écouter le HTTP clair, ou laissez non défini pour 80
    listen_ssl: 9001                                          # Spécifiez le port sur lequel vous souhaitez écouter le HTTPS, ou laissez non défini pour 443
    ssl: true                                                 # Mettre à vrai si vous souhaitez rediriger http vers https
    ssl_certificate: /etc/ssl/certs/ssl-cert-snakeoil.pem     # certificat ssl, utilisé si letsencrypt est faux
    ssl_certificate_key: /etc/ssl/private/ssl-cert-snakeoil.key # clé du certificat ssl, utilisée si letsencrypt est faux
    letsencrypt: false                                        # Mettre à vrai si vous souhaitez utiliser letsencrypt
    letsencrypt_email: ""                                     # Définir l'email pour le certificat Letsencrypt

nginx_revproxy_certbot_auto: false                             # Mettre à vrai pour installer certbot-auto

nginx_revproxy_certbot_packages:                              # Installer ces paquets depuis le dépôt, lorsque vous n'utilisez pas certbot-auto
  - certbot
  - python3-certbot-nginx

Dépendances

Aucune.

Exemple de Playbook

  - hosts: all
    roles:
      - hispanico.nginx_revproxy
    vars:
      nginx_revproxy_sites:
        default:
          ssl: false
          letsencrypt: false

        example.com:
          domains:
            - example.com
            - www.example.com
          upstreams:
            - { backend_address: 192.168.0.100, backend_port: 80 }
            - { backend_address: 192.168.0.101, backend_port: 80 }
          ssl: true
          letsencrypt: false

Licence

Sous licence GPLv3. Voir le fichier LICENSE pour plus de détails.

Information sur l'auteur

Hispanico

À propos du projet

Manage Nginx as Reverse Proxy

Installer
ansible-galaxy install hispanico.nginx_revproxy
Licence
gpl-3.0
Téléchargements
69.4k
Propriétaire
@openwisp Contributor and @ninuxorg Member