ivansible.srv_cdn
ivansible.srv_cdn
Diese Rolle konfiguriert ein einfaches CDN auf Basis von nginx.
Jede CDN-Anfrage kann einige optionale HTTP-Header enthalten:
X-CDN-Front
- gewünschter Front-Hostname, standardmäßig der Hostname aus der Anfrage.X-CDN-Host
- gewünschter Server-Hostname, bestimmt das Ursprungsziel, standardmäßig$cdn_front
.X-CDN-Back
- gewünschter Ursprungs-Hostname, optional, überschreibt das Ursprungsziel.
Anforderungen
Keine
Variablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten.
srv_cdn_sites:
- server: .meinedomain.de
origin: www.beispiel.de
lecert: meinedomain.de
Die Hauptliste der Seiten hat Einträge mit den folgenden Feldern:
server
- Front-Server-Name, kannfull.host.name
oder.domain.name
sein (erforderlich);origin
- Hostname eines Ursprungsservers, der https unterstützen muss (erforderlich);lecert
- Name des benutzerdefinierten LetsEncrypt-Zertifikats für den Server (optional);hidden
- falls wahr, ist die Zuordnung Server-zu-Ursprung definiert, aber der Servername wird übersprungen (optional, standardmäßigfalse
).
srv_cdn_default_origin: beispiel.de
Der Fallback-Ursprung.
srv_cdn_cloudflare:
- zone: beispiel.de
name: {{ inventory_hostname }}
type: AAAA
value: {{ ansible_default_ipv6.address }}
proxied: false
Die Liste der Cloudflare-Einträge pro Host hat die folgenden Felder:
zone
- Zone für den Eintrag (erforderlich);name
- Name des Eintrags (gewöhnlich unqualifizierter Hostname), erforderlich;type
- Eintragstyp, einer von: A AAAA CNAME usw. (erforderlich);value
- optionaler Wert, der Eintrag wird übersprungen, wenn dieser leer oder falsch ist;proxied
- wahr oder falsch, standardmäßigfalse
.
srv_cdn_cloudflare_email: ~
srv_cdn_cloudflare_token: ~
CloudFlare-Anmeldeinformationen. Wenn diese Einstellungen leer, falsch oder undefiniert sind, werden die Cloudflare-Aufgaben übersprungen.
srv_cdn_cloudfront:
- server: www.meinedomain.de
reference: www.meinedomain.de_cdn1
origin: override.beispiel.de
lecert: meinedomain.de
cache: false
Dieses Array konfiguriert CloudFront CDN-Distributionen mit vollständigen Webpfaden
wie cloudfront -> server -> origin
, wobei jeder Eintrag die folgenden Felder hat:
server
- Front-Server-Name, der mit einem Eintrag aus der obigen Liste der Seiten übereinstimmt (erforderlich);origin
- optional, überschreibtorigin
aus der obigen Liste der Seiten;reference
- eindeutiger CloudFront-Identifikator (optional, standardmäßig der Servername mit einem Suffix);lecert
- Name des benutzerdefinierten LetsEncrypt-Zertifikats für den Server (optional);cache
-false
deaktiviert das Caching in CloudFront,true
aktiviert es (optional, standardmäßigsrv_cdn_cloudfront_default_cache
);delete
- falls wahr, wird die Verteilung gelöscht, anstatt sie zu erstellen/aktualisieren (optional, standardmäßigfalse
).
srv_cdn_cloudfront_default_reference: SERVER_cdn
Standardname für die Verteilungsreferenz (SERVER
wird durch den tatsächlichen Servernamen ersetzt).
srv_cdn_filters:
- src: ...
dst: ...
Diese Ersetzungen werden auf HTML angewendet.
srv_cdn_cloudfront_max_ttl: 2592000 # ein Monat
srv_cdn_cloudfront_default_ttl: 86400 # ein Tag
srv_cdn_cloudfront_cached_methods: [GET, HEAD]
srv_cdn_cloudfront_default_cache: true
Verschiedene Standardwerte für das Caching in CloudFront.
srv_cdn_cloudfront_access_key: ~
srv_cdn_cloudfront_secret_key: ~
Amazon CloudFront-Anmeldeinformationen, erforderlich, wenn srv_cdn_cloudfront
Einträge hat,
sonst optional. Wenn diese Einstellungen leer oder undefiniert sind, standardmäßig auf
die Umgebungsvariablen AWS_ACCESS_KEY_ID
und AWS_SECRET_ACCESS_KEY
auf dem Ansible-Controller-Host.
Tags
srv_cdn_cloudflare
- konfiguriert DNS-Einträge in CloudFlaresrv_cdn_cloudfront
- konfiguriert CloudFront-Distributionensrv_cdn_nginx
- konfiguriert CDN-Seite und Zuordnungen in nginxsrv_cdn_nginx_site
- konfiguriert allgemeine CDN-Seiteneinstellungen in nginxsrv_cdn_all
- alles oben Genannte
Abhängigkeiten
ivansible.nginx_base
- übernimmt Standardwerte und Handlerivansible.lin_nginx
(implizite Abhängigkeit)
Beispiel-Playbook
- hosts: meinserver
roles:
- role: ivansible.srv_cdn
Lizenz
MIT
Autor Informationen
Erstellt 2020-2021 von IvanSible