ivansible.srv_cdn

ivansible.srv_cdn

Estado de Pruebas en Github Ansible Galaxy

Este rol configura un CDN simple basado en nginx.

Cualquier solicitud de CDN puede tener algunos encabezados HTTP opcionales:

  • X-CDN-Front - nombre del host frontal deseado, por defecto es el nombre del host de la solicitud.
  • X-CDN-Host - nombre del host del servidor deseado, determina el origen, por defecto es $cdn_front.
  • X-CDN-Back - nombre del host de origen deseado, opcional, reemplaza el origen.

Requisitos

Ninguno

Variables

Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados.

    srv_cdn_sites:
      - server: .mydomain.com
        origin: www.example.com
        lecert: mydomain.com

La lista principal de sitios tiene registros con los siguientes campos:

  • server - nombre del servidor frontal, puede ser full.host.name o .domain.name (requerido);
  • origin - nombre del host de un servidor de origen, que debe soportar https (requerido);
  • lecert - nombre de un certificado letsencrypt personalizado para el servidor (opcional);
  • hidden - si es verdadero, se define el mapeo de servidor a origen, pero se omite el nombre del servidor (opcional, por defecto es false).
    srv_cdn_default_origin: example.com

El origen por defecto.

    srv_cdn_cloudflare:
      - zone: example.com
        name: {{ inventory_hostname }}
        type: AAAA
        value: {{ ansible_default_ipv6.address }}
        proxied: false

La lista de registros de Cloudflare por host tiene los siguientes campos:

  • zone - zona para el registro (requerido);
  • name - nombre del registro (generalmente nombre de host no calificado), requerido;
  • type - tipo de registro, uno de: A AAAA CNAME etc. (requerido);
  • value - valor opcional, el registro se omitirá si está vacío o es falso;
  • proxied - verdadero o falso, por defecto es false.
    srv_cdn_cloudflare_email: ~
    srv_cdn_cloudflare_token: ~

Credenciales de CloudFlare. Si estas configuraciones están vacías, son falsas o indefinidas, entonces se omitirán las tareas de Cloudflare.

    srv_cdn_cloudfront:
      - server: www.mydomain.com
        reference: www.mydomain.com_cdn1
        origin: override.example.com
        lecert: mydomain.com
        cache: false

Este array configura distribuciones de CDN de CloudFront con rutas web completas como cloudfront -> server -> origin, donde cada registro tiene campos:

  • server - nombre del servidor frontal que coincide con un registro de la lista de sitios de arriba (requerido);
  • origin - opcional, reemplaza origin de la lista de sitios de arriba;
  • reference - identificador único de cloudfront (opcional, por defecto es el nombre del servidor con un sufijo);
  • lecert - nombre de un certificado letsencrypt personalizado para el servidor (opcional);
  • cache - false desactiva la caché de cloudfront, true la activa (opcional, por defecto es srv_cdn_cloudfront_default_cache);
  • delete - si es verdadero, la distribución se eliminará en lugar de crear/actualizar (opcional, por defecto es false).
    srv_cdn_cloudfront_default_reference: SERVER_cdn

Nombre predeterminado para la referencia de distribución (SERVER se reemplaza por el nombre real del servidor).

    srv_cdn_filters:
      - src: ...
        dst: ...

Estos reemplazos se aplicarán a HTML.

srv_cdn_cloudfront_max_ttl: 2592000    # un mes
srv_cdn_cloudfront_default_ttl: 86400  # un día
srv_cdn_cloudfront_cached_methods: [GET, HEAD]
srv_cdn_cloudfront_default_cache: true

Varios valores predeterminados para la caché de CloudFront.

srv_cdn_cloudfront_access_key: ~
srv_cdn_cloudfront_secret_key: ~

Credenciales de Amazon CloudFront, requeridas si srv_cdn_cloudfront tiene registros, opcional de lo contrario. Si estas configuraciones están vacías o indefinidas, se asignan a las variables de entorno AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY en el host controlador de ansible.

Etiquetas

  • srv_cdn_cloudflare - configura registros DNS en CloudFlare
  • srv_cdn_cloudfront - configura distribuciones de CloudFront
  • srv_cdn_nginx - configura el sitio CDN y los mapeos en nginx
  • srv_cdn_nginx_site - configura configuraciones comunes del sitio CDN en nginx
  • srv_cdn_all - todo lo anterior

Dependencias

  • ivansible.nginx_base - hereda valores predeterminados y controladores
  • ivansible.lin_nginx (dependencia implícita)

Ejemplo de Playbook

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

Licencia

MIT

Información del Autor

Creado en 2020-2021 por IvanSible

Acerca del proyecto

simple nginx-based CDN

Instalar
ansible-galaxy install ivansible.srv_cdn
Licencia
Unknown
Descargas
149
Propietario
ivandeex ansible roles, molecule tests: https://galaxy.ansible.com/ivansible/