hoall.nginx-proxy

Rolle nginx-proxy

Diese Rolle installiert nginx als Proxy-Server. Die Einstellungen sind nur für die Verwendung von HTTPS. Stellen Sie also sicher, dass Sie Ihr SSL-Zertifikat konfigurieren. Der dhparam wird durch eine neu generierte Version ersetzt. Die Generierung erfolgt während der Installation. Die Rolle setzt auch einige nützliche Voreinstellungen für Proxy-Server.

Der Sicherheitsgrad ist modern gemäß der Definition der Mozilla-Stiftung (siehe deren Generator für weitere Informationen: https://mozilla.github.io/server-side-tls/ssl-config-generator/). Die Konfiguration sollte für die meisten Systeme passen. Ich habe die Vorlagen mit Ubuntu 16.04 erstellt. HSTS ist aktiviert. Die Konfiguration erhält von ssllabs.com eine Note von A+.

Die Standard-Website ist auf / abgebildet. Ich habe diese Rolle erstellt und benutze sie, um die Verbindung zu meinem Tomcat-Server zu abstrahieren und zu sichern.

Wenn Sie Verbesserungsvorschläge haben, erstellen Sie eine Pull-Anfrage.

Anforderungen

Ein SSL-Zertifikat und OpenSSL (für den dhparam). Wenn Sie nach einer guten Rolle suchen, empfehle ich, sich die Rolle von geerlingguy.certbot anzusehen.

Rollenvariablen

HINWEIS: Variablen, die überschrieben werden müssen, sind in GROSSBUCHSTABEN geschrieben.

Name Standardwert Beschreibung
NP_SERVER_NAME KEINE 'Ein String, der die Namen enthält, auf die der Server (und Standort) hören soll. Zum Beispiel "example.com www.example.com"'
NP_SSL_CERTIFICATE KEINE 'Der Pfad zu Ihrem SSL-Zertifikat (fullchain.pem). Zum Beispiel /etc/letsencrypt/live/example.de/fullchain.pem'
NP_SSL_CERTIFICATE_KEY KEINE 'Der Pfad zu Ihrem privaten Schlüssel des SSL-Zertifikats (privkey.pem). Zum Beispiel /etc/letsencrypt/live/example.de/privkey.pem'
NP_PROXY_PASS KEINE 'Der Pfad zum Standort. Zum Beispiel "http://127.0.0.1:8080/example/"'
NP_REWRITE KEINE 'Umleitungsregel für die Website. Zum Beispiel "^/example(.*)$ $1 last"'
np_worker_processes {{ ansible_processor_count }} 'Die Anzahl der Worker-Prozesse, die nginx verwenden soll. Der Standardwert ist einer pro Kern, bestimmt durch die Ansible-Einstellungen.'
np_worker_connections 1024 'Die Anzahl der Verbindungen für jeden Worker-Prozess (einschließlich zu Backend-Servern). Denken Sie daran, dass ein Browser mehr als eine Verbindung öffnet, um die Geschwindigkeit zu erhöhen.'
np_keep_alive_timeout 15 'Timeout für eine inaktive Client-Verbindung in Sekunden.'
np_client_max_body_size 10m 'Legt die maximal erlaubte Größe des Client-Anforderungsinhalts fest, angegeben im Feld “Content-Length” im Anforderungsheader.'
np_client_body_buffer_size 10k 'Legt die Puffergröße für das Lesen des Client-Anforderungsinhalts fest.'
np_proxy_connect_timeout 10 'Definiert ein Timeout für die Herstellung einer Verbindung mit einem proxied Server. Es sollte beachtet werden, dass dieses Timeout in der Regel 75 Sekunden nicht überschreiten kann.'
np_proxy_send_timeout 10 'Legt ein Timeout (in Sekunden) für die Übertragung einer Anfrage an den proxied Server fest.'
np_proxy_read_timeout 10 'Definiert ein Timeout (in Sekunden) für das Lesen einer Antwort vom proxied Server.'
np_proxy_buffers "32 8k" 'Legt die Größe des Puffers fest, der für das Lesen des ersten Teils der Antwort vom proxied Server verwendet wird. Dieser Teil enthält normalerweise einen kleinen Antwort-Header. Standardmäßig entspricht die Puffergröße einer Speicherseite. Diese ist entweder 4K oder 8K, abhängig von der Plattform. Sie kann jedoch kleiner gemacht werden.'

Hinweis: Teile dieser Dokumentation stammen aus der offiziellen nginx-Dokumentation (https://nginx.org/en/docs/). Die Quellen und Dokumentationen werden unter der 2-Klausel BSD-ähnlichen Lizenz verbreitet.

Ändern Sie die Variablen gemäß Ihren Anforderungen.

Abhängigkeiten

Beispiel Playbook

- hosts: servers
  roles:
    - { role: hoall.nginx-proxy, NP_SERVER_NAME: "example.com www.example.com", NP_SSL_CERTIFICATE: /etc/letsencrypt/live/fullchain.pem, NP_SSL_CERTIFICATE_KEY: /etc/letsencrypt/live/privkey.pem }

Lizenz

BSD

Autorinformationen

Felix Paetow fhmpaetow@fsfe.org

Über das Projekt

Installation, configuration and hardening of a nginx proxy with one website.

Installieren
ansible-galaxy install hoall.nginx-proxy
GitHub Repository
Lizenz
bsd-2-clause
Downloads
118
Besitzer