elan.simple_nginx_reverse_proxy

Rola Ansible do prostego zainstalowania nginx jako serwer proxy odwrotny

molecule

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

BSD-3-Clause

Informacje o Autorze

ELAN e.V

O projekcie

Installs and prepares Nginx as reverse proxy

Zainstaluj
ansible-galaxy install elan.simple_nginx_reverse_proxy
Licencja
bsd-3-clause
Pobrania
24.6k
Właściciel
elan e.V. is a German non-profit organization helping universities and other higher education organizations with all things related to e-learning