artem_shestakov.nginx
Ansible Nginx Rolle
=========
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
- 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:
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
- Legen Sie Ihre Zertifikate im Verzeichnis ab.
- 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)