elan.simple_nginx_reverse_proxy

Ansible-Rolle für eine einfache nginx Reverse-Proxy-Installation

molecule

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

BSD-3-Clause

Autor Informationen

ELAN e.V

Über das Projekt

Installs and prepares Nginx as reverse proxy

Installieren
ansible-galaxy install elan.simple_nginx_reverse_proxy
GitHub Repository
Lizenz
bsd-3-clause
Downloads
24.6k
Besitzer
elan e.V. is a German non-profit organization helping universities and other higher education organizations with all things related to e-learning