elan.simple_nginx_reverse_proxy
Rola Ansible do prostego zainstalowania nginx jako serwer proxy odwrotny
Ta rola instaluje nginx jako prosty serwer proxy odwrotny.
Zmienne Roli
Aby uzyskać pełny przegląd opcji konfiguracyjnych, zobacz domyślne.
Konfiguracja Proxy
Ta rola zawiera domyślną konfigurację, która automatycznie przekierowuje na HTTPS i pozwala określić prosty blok do konfiguracji 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;
}
Certyfikaty TLS
Domyślna konfiguracja dostarcza proste, samopodpisane certyfikaty, jeśli żadne nie istnieją. Upewnij się, że zastąpisz je swoimi certyfikatami. Po prostu nadpisz następujące pliki:
/etc/nginx/tls/certificate.key;
/etc/nginx/tls/certificate.crt;
Zaawansowana Konfiguracja
Możesz ustawić opcję nginx_config
, aby nadpisać domyślną konfigurację i określić swój zestaw plików konfiguracyjnych. Ustaw listę pól src
i dest
, które określają szablony do wdrożenia. Pole dest
zawsze określa lokalizację w odniesieniu do /etc/nginx/
:
roles:
- role: elan.simple_nginx_reverse_proxy
nginx_config:
- src: nginx.conf
dest: nginx.conf
Zauważ, że rola zawiera szablon nginx.conf
. Określenie src: nginx.conf
zawsze użyje dołączonego szablonu.
Konfiguracja Związana z Bezpieczeństwem
Ta rola może otworzyć porty dla Nginx w firewalld lub ufw. Może również ustawić boolean SELinux, aby pozwolić Nginx działać jako serwer proxy odwrotny. Te ustawienia są domyślnie wyłączone i musisz je wyraźnie włączyć:
configure_for_firewalld: true
configure_for_ufw: true
configure_for_selinux: true
Przykładowy Playbook
Twój playbook może wyglądać tak:
---
- hosts: all
become: true
roles:
- role: elan.simple_nginx_reverse_proxy
configure_for_firewalld: true
Rozwój
Do rozwoju i testowania możesz użyć molecule. Z podman jako sterownikiem możesz go zainstalować w ten sposób – najlepiej w wirtualnym środowisku:
pip install -r .dev_requirements.txt
Następnie możesz utworzyć instancje testowe, zastosować konfigurację ansible (converge) i zniszczyć instancje testowe za pomocą tych poleceń:
molecule create
molecule converge
molecule destroy
Licencja
Informacje o Autorze
ansible-galaxy install elan.simple_nginx_reverse_proxy