elan.simple_nginx_reverse_proxy
Ansible-Rolle für eine einfache nginx Reverse-Proxy-Installation
Diese Rolle installiert nginx als einfachen Reverse-Proxy.
Rollenvariablen
Für einen vollständigen Überblick über die Konfigurationsoptionen schauen Sie in die defaults.
Proxy-Konfiguration
Diese Rolle kommt mit einer Standardkonfiguration, die automatisch auf HTTPS umleitet und es Ihnen ermöglicht, einen einfachen Block zur Konfiguration von Nginx anzugeben:
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;
}
TLS-Zertifikate
Die Standardkonfiguration bietet einfache, selbstsignierte Zertifikate, falls keine vorhanden sind. Bitte stellen Sie sicher, dass Sie diese durch Ihre eigenen Zertifikate ersetzen. Überschreiben Sie einfach die folgenden Dateien:
/etc/nginx/tls/certificate.key;
/etc/nginx/tls/certificate.crt;
Erweiterte Konfiguration
Sie können die Option nginx_config
setzen, um die Standardkonfiguration zu überschreiben und Ihre eigenen Konfigurationsdateien anzugeben. Legen Sie eine Liste von src
und dest
Feldern fest, die Vorlagen zum Bereitstellen angeben. Das Feld dest
gibt immer einen Ort relativ zu /etc/nginx/
an:
roles:
- role: elan.simple_nginx_reverse_proxy
nginx_config:
- src: nginx.conf
dest: nginx.conf
Beachten Sie, dass die Rolle eine nginx.conf
Vorlage enthält. Das Festlegen von src: nginx.conf
wird immer die enthaltene Vorlage verwenden.
Sicherheitsbezogene Konfiguration
Diese Rolle kann Ports für Nginx in firewalld oder ufw öffnen. Sie kann auch das SELinux-Boolean setzen, um Nginx als Reverse-Proxy agieren zu lassen. Diese Einstellungen sind standardmäßig deaktiviert und müssen explizit aktiviert werden:
configure_for_firewalld: true
configure_for_ufw: true
configure_for_selinux: true
Beispiel-Playbook
Ihr Playbook könnte so aussehen:
---
- hosts: all
become: true
roles:
- role: elan.simple_nginx_reverse_proxy
configure_for_firewalld: true
Entwicklung
Für Entwicklung und Tests können Sie molecule verwenden. Mit podman als Treiber können Sie es so installieren – vorzugsweise in einer virtuellen Umgebung:
pip install -r .dev_requirements.txt
Dann können Sie die Testinstanzen erstellen, die Ansible-Konfiguration anwenden (converge) und die Testinstanzen mit diesen Befehlen löschen:
molecule create
molecule converge
molecule destroy
Lizenz
Autor Informationen
ansible-galaxy install elan.simple_nginx_reverse_proxy