ivansible.srv_cdn
ivansible.srv_cdn
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 serfull.host.nameo.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 esfalse).
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 esfalse.
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, reemplazaoriginde 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-falsedesactiva la caché de cloudfront,truela activa (opcional, por defecto essrv_cdn_cloudfront_default_cache);delete- si es verdadero, la distribución se eliminará en lugar de crear/actualizar (opcional, por defecto esfalse).
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 CloudFlaresrv_cdn_cloudfront- configura distribuciones de CloudFrontsrv_cdn_nginx- configura el sitio CDN y los mapeos en nginxsrv_cdn_nginx_site- configura configuraciones comunes del sitio CDN en nginxsrv_cdn_all- todo lo anterior
Dependencias
ivansible.nginx_base- hereda valores predeterminados y controladoresivansible.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
ansible-galaxy install ivansible.srv_cdn