bsmeding.nginx_docker
Nginx Reverse Proxy Hilfe
NGINX Reverse Proxy Server
Die Rolle wird auf Ubuntu getestet, wo Docker über meine Rolle bsmeding.docker installiert ist auf Linux-Distributionen.
Früher war es die Frontend-Applikation beim Bereitstellen von Docker-Containern auf Plattformen.
Das Standard-Image stammt von Linuxserver: https://docs.linuxserver.io/images/docker-nginx
Im Moment sind nur eine begrenzte Anzahl von Konfigurationsoptionen verfügbar. Diese werden später hinzugefügt.
Reverse Proxy Konfiguration
Für jeden Container (oder andere Dienste/Server) können Sie eine Proxy-Konfiguration mit der Variablenliste nginx__proxy_confs_subdomain
hinzufügen. Wenn Sie an Container weiterleiten, verbinden Sie diese mit demselben Docker-Netzwerk für eine einfache Namensauflösung und Sicherheit.
Dieses Beispiel leitet eingehende Anfragen für dash.example.com
auf Port 80 an den Container mit dem Namen dashboard
auf Port 9090, Port 80 (http) weiter.
nginx__proxy_confs_subdomain:
- server_name: dash.example.com
listen: 80
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Website-Dateien
Wenn Sie ein Verzeichnis einer Website kopieren möchten, legen Sie es in /files/nginx/sites/<site_directory>
oder /files/nginx/<inventory_hostname>/sites/<site_directory>
, wenn Sie mehrere Server mit unterschiedlichen Websites bereitstellen.
Site-Konfigurationsdateien
Wenn Sie spezielle Standortkonfigurationsdateien kopieren möchten, legen Sie diese in Ihrem Playbook-Verzeichnis unter /files/nginx/site-confs/
ab. Sie müssen in der NGINX-Standortkonfigurationsdatei <site.conf>
sein.
Oder in /files/nginx/<inventory_hostname>/site-confs/
, um die Konfigurationen separater Hosts zu halten.
https / ssl / Zertifikat
Wenn Sie Zertifikate benötigen, legen Sie diese in Ihrem Playbook-Verzeichnis unter files/nginx/certs/
ab und benennen Sie sie als website_url.crt
und website_url.key
.
Wenn die Schlüsseldatei durch ein Passwort gesichert ist, fügen Sie dies zu Ihrer Subdomain-Variablen hinzu, damit es durch ansible-vault gesichert werden kann.
nginx__proxy_confs_subdomain:
- server_name: dash.example.com
listen: 80
listen_https: 443 # muss https aktivieren
cert_key_passphrase: 'sbsta261da' # Beispiel für das Passwort der cert.key-Datei, wenn festgelegt. Andernfalls setzen Sie diese Variable nicht
enable_ldap: false
enable_authelia: false
default_upstream_proto: http
default_upstream_url: dashboard
default_upstream_port: 9090
Manage and run the Nginx container from Linuxserver(default).
ansible-galaxy install bsmeding.nginx_docker