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.nameoder.domain.namesein (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, überschreibtoriginaus 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-falsedeaktiviert das Caching in CloudFront,trueaktiviert 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
