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.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 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, reemplazaorigin
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 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