artem_shestakov.nginx

Ansible Nginx Rolle

========= Build

Ansible-Rolle zur Installation von Nginx auf Debian/Red Hat basierten Betriebssystemen.

Anforderungen


Keine

Variablen


Diese Rolle verwendet drei Arten von Variablen. Die ersten beiden hängen von der Art der Installation ab. Die dritte sind allgemeine Variablen, unabhängig von der Wahl der Installationsart.

Allgemeine Variablen

  • install_from - Die Art der Nginx-Installation. [source | repo]. Standard: repo
  • nginx_http_add - Liste zusätzlicher Parameter, die zum HTTP-Abschnitt der Nginx-Konfigurationsdatei hinzugefügt werden. Standard: []
  • nginx_stream_add - Liste zusätzlicher Parameter, die zum Stream-Abschnitt der Nginx-Konfigurationsdatei hinzugefügt werden. Standard: []
  • ssl_cert_path - Verzeichnis für SSL-Zertifikate, die von Nginx verwendet werden. Standard: \etc\nginx\ssl

Webserver

  • nginx_virtual_servers - Liste der virtuellen Server. Standard: []
    • listen - Gibt die IP-Adresse und den Port (oder Unix-Domain-Socket und Pfad) an, an dem der Server auf Anfragen hört.
    • server_name - Liste der Namen eines virtuellen Servers.
    • locations - Liste der Standorte
      • location - Konfiguration in Abhängigkeit von einer Anfrage-URI.
      • params - Setzt Parameter für den Standort, z.B. proxy_pass, return, rewrite usw.

TCP- und UDP-Lastverteilung

  • tcp_udp_nlb - Liste von Dictionnaires der (Upstreams) Backend-Server für TCP- und UDP-Lastverteilung mit Feldern:
    • name - Name des Upstreams.
    • listen - Port für den Empfang von eingehendem Verkehr auf dem Nginx-Proxy.
    • servers - Liste der Backend-Server.
  • stub_status - Wenn wahr, wird die Nginx-Überwachungsfunktion durch ngx_http_stub_status_module eingestellt. Standard: false
  • stub_status_settings - Dictionary mit Einstellungen für den Stub-Status mit Feldern:
    • listen - Setzt die Adresse und den Port für IP oder den Pfad für einen UNIX-Domain-Socket, auf dem der Server Anfragen annimmt. Standard: 127.0.0.1:80
    • server_name - Setzt Namen eines virtuellen Servers. Standard: 127.0.0.1
    • location - Setzt die Konfiguration in Abhängigkeit von einer Anfrage-URI. Standard: /nginx_status

SSL

  • proxy_ssl - Aktiviert das SSL/TLS-Protokoll für Verbindungen zu einem proxied Server.
  • proxy_ssl_certificate - Gibt eine Datei mit dem Zertifikat im PEM-Format an, das für die Authentifizierung bei einem proxied HTTPS-Server verwendet wird.
  • proxy_ssl_certificate_key - Gibt eine Datei mit dem geheimen Schlüssel im PEM-Format an, die für die Authentifizierung bei einem proxied HTTPS-Server verwendet wird.
  • proxy_ssl_ciphers - Gibt die aktivierten Chiffren für Verbindungen zu einem proxied Server an. Die Chiffren sind im Format angegeben, das von der OpenSSL-Bibliothek verstanden wird.
  • ssl_certificate - Gibt eine Datei mit dem geheimen Schlüssel im PEM-Format für den angegebenen virtuellen Server an.
  • ssl_certificate_key - Gibt eine Datei mit dem geheimen Schlüssel im PEM-Format an, die für die Authentifizierung bei einem proxied Server verwendet wird.

Installationsvariablen aus dem Repository

Installationsvariablen aus dem Quellcode

  • nginx_with_modules - Liste von Nginx-Modulen, die nicht standardmäßig vorhanden sind. Die Liste der Module ist hier. Standard: []

Beispiel-Playbook

---
- name: Nginx-App installieren
  hosts: all
  remote_user: vagrant
  become: true
  roles:
    - artem_shestakov.nginx
  vars:
    - install_from: source
    - nginx_with_modules:
        - --with-file-aio 
        - --with-ipv6 
        - --with-http_ssl_module
        - --with-http_v2_module 
        - --with-http_realip_module 
        - --with-http_addition_module 
        - --with-http_xslt_module=dynamic  
        - --with-http_image_filter_module=dynamic
        - --with-http_sub_module 
        - --with-http_dav_module 
        - --with-http_flv_module 
        - --with-http_mp4_module 
        - --with-http_gunzip_module 
        - --with-http_gzip_static_module 
        - --with-http_random_index_module 
        - --with-http_secure_link_module 
        - --with-http_degradation_module 
        - --with-http_slice_module 
        - --with-http_stub_status_module 
        - --with-http_perl_module=dynamic 
        - --with-http_auth_request_module 
        - --with-mail=dynamic 
        - --with-mail_ssl_module  
        - --with-stream=dynamic
        - --with-stream_ssl_module 
        - --with-debug
    - tcp_udp_nlb:
        - name: example
          listen: 
            - 192.168.1.1:443
            - 192.168.1.2:443
          servers:
            - 10.79.1.196:443
        - name: example2
          listen: 
            - 10002
          servers:
            - 10.79.1.203:5601

SSL-Zertifikate auf den Nginx-Server kopieren

  1. Legen Sie Ihre Zertifikate im Verzeichnis ab.
  2. Stellen Sie die Variablen ein:
  • copy_ssl_certs - true, wenn Ihre Zertifikate von der lokalen Maschine auf den entfernten Nginx-Server kopiert werden sollen.
  • user_certs_path - Liste der Verzeichnisse mit Ihren SSL-Zertifikaten, die auf Nginx kopiert werden müssen. Standard: ['./files/ssl/*']

Lizenz

BSD, MIT

Autor Informationen

Artem Shestakov (artem.s.shestakov@gmail.com)

Über das Projekt

Ansible role to install Nginx on Debian/Red Hat OS family.

Installieren
ansible-galaxy install artem_shestakov.nginx
GitHub Repository
Lizenz
Unknown
Downloads
219
Besitzer