ivansible.srv_cdn

ivansible.srv_cdn

Github Test Status Ansible Galaxy

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, kann full.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äßig false).
    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äßig false.
    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, überschreibt origin 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äßig srv_cdn_cloudfront_default_cache);
  • delete - falls wahr, wird die Verteilung gelöscht, anstatt sie zu erstellen/aktualisieren (optional, standardmäßig false).
    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 CloudFlare
  • srv_cdn_cloudfront - konfiguriert CloudFront-Distributionen
  • srv_cdn_nginx - konfiguriert CDN-Seite und Zuordnungen in nginx
  • srv_cdn_nginx_site - konfiguriert allgemeine CDN-Seiteneinstellungen in nginx
  • srv_cdn_all - alles oben Genannte

Abhängigkeiten

  • ivansible.nginx_base - übernimmt Standardwerte und Handler
  • ivansible.lin_nginx (implizite Abhängigkeit)

Beispiel-Playbook

- hosts: meinserver
  roles:
     - role: ivansible.srv_cdn

Lizenz

MIT

Autor Informationen

Erstellt 2020-2021 von IvanSible

Über das Projekt

simple nginx-based CDN

Installieren
ansible-galaxy install ivansible.srv_cdn
GitHub Repository
Lizenz
Unknown
Downloads
149
Besitzer
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/