En el artículo anterior vimos qué es Cloudflare y para qué sirve, así como cuáles eran sus mejores características para mejorar el rendimiento y aumentar la seguridad de nuestra web.
Hoy vamos a comenzar a sacarle el “jugo” a Cloudflare jugando con sus mejores opciones, particularmente, veremos cómo activar el Cache de Cloudflare.
Un caché es una copia de datos que se almacena en un lugar de un sistema informático y que ayuda a que éstos se despachen más rápido cuando se pidan nuevamente tras la request inicial, además de también beneficiar a los servidores al ahorrar recursos a nivel de carga de CPU, RAM y lectura en disco.
Cloudflare usa Nginx como proxy reverso para cachear y despachar los archivos estáticos de tu web. A su vez, Cloudflare aloja estos archivos en su CDN (Content Delivery Network), haciendo no sólo que se despachen más rápido por el caché mismo, sino también por el hecho de que se servirán desde el punto más cercano a tu ubicación geográfica, es decir, la red optimizada de despacho de contenido.
Esto quiere decir, que si vives en Buenos Aires, Cloudflare despachará el contenido desde su Data Center más cercano. Idem con el resto de los países donde tiene presencia, es decir, no tendrá que ir a buscar el archivo al servidor de origen único, se despachará desde su propia red.
El CDN de Cloudflare es uno de los más eficientes del mundo, y el más usado hoy por hoy, ya que además de ser bueno, es totalmente gratuito. Si, aunque no lo creas,** no tienes que pagar ni $1 dólar por usar el CDN de Cloudflare**, y no tiene limitaciones de tráfico ni tampoco de los nodos de despacho.
Cloudflare cachea todos los recursos estáticos de tu web, es decir, archivos js, css, imágenes, fuentes e iconos.
Cuando lo activas por defecto para toda tu web (ej. www.tusitio.com) no sólo cachea los archivos estáticos, sino también el HTML de tu web, es decir, genera una copia exacta de tu web con los elementos estáticos.
Esto puede ser beneficioso en muchos casos, cuando tienes una web muy estática, pero puede jugarte en contra cuando tu web es demasiado dinámica, y donde el cache del HTML puede causarte más de un dolor de cabeza.
Lo que debes evaluar aquí es si necesitas cache en toda tu web, o bien sólo para los recursos estáticos.
En Infranetworking usamos Cloudflare desde hace años para muchos de nuestros recursos, pero nunca para el HTML, sólo a nivel de ficheros estáticos como js, css, imágenes, etc, esto nos permite tener control total sobre la web, al mismo tiempo que nos vemos beneficiados del despacho via CDN.
Lo ideal si sólo quieres activar el CDN en tus archivos estáticos es usar un subdominio como static.tusitio.com, y despachar todos los recursos desde allí, de forma que tusitio.com no se verá afectado nunca por el cache de HTML de Cloudflare.
Veamos los pasos necesarios para tener tu web cacheada en el CDN de Cloudflare:
1) Crear cuenta en Cloudflare
Lo primero que debes hacer es tener bien en claro para qué vas a activar el cache, si para el dominio entero o para el subdominio de archivos estáticos como mencionaba antes.
Una vez definido eso sigue estos pasos:
Cloudflare escanea en ese momento tus registros DNS actuales, y los copiará como un espejo hacia sus servidores DNS.
Este paso es bastante crítico, pues muchas veces Cloudflare no copia los registros DNS correctamente, y ahí es donde puede ocurrir un desastre.
Mi sugerencia es que compares los registros DNS actuales en tu proveedor de Hosting, y veas si se copiaron bien.
2) Cambiar los NameServers en el registrante del dominio
Ahora debes usar los DNS que Cloudflare te ha indicado en el paso anterior, serán un par de servidores de nombres que debes indicar en el registrante de tu dominio.
Esto hará que Cloudflare oficie ahora como servidor DNS, y tenga las potestades para manipular tu web y sus registros DNS.
Este cambio puede demorar algunas horas en reflejarse, puedes comprobar siempre la propagación dns utilizando herramientas como DNS Propagation, que te ayudan a determinar si ya se propagó el cambio en todos los ISPs del mundo.
3) Activar el Cache
Desde el menú superior, busca la opción llamada “DNS”. Desde allí podrás activar o desactivar el servicio de Caching + CDN haciendo click en la nube gris.
Cuando la nube pasa a naranja, quiere decir que está activo el servicio de Caching + CDN, tal como ves en esta captura:
Esta funcionalidad tan simple pero efectiva, te permite activar el cache + cdn en algunas partes de tu web, como el sitio principal, o bien subdominios como mencionamos antes.
Este cambio es casi instantáneo, a los pocos segundos ya estará todo respondiendo desde la red de Cloudflare.
Configuraciones extras del Caché
Existen muchas opciones para poder configurar el cache de los objetos en Cloudflare de manera óptima.
Desde la opción “Caching” del menú superior, podrás encontrar una manera fácil para configurar cada cosa, como vemos en esta captura:
Vaciar el Caché: en la cuenta gratis Cloudflare te permite sólo vaciar un archivo o todo, pero no borrar usando etiquetas por ejemplo.
Nivel de Caché: podrás elegir el que viene por defecto (standard) que es el recomendado para el 99% de los casos, o probar con No querystring o Ignore query string, que te sirven para filtrar el cache y hacerlo más personalizado.
Caché del navegador: te permite determinar el tiempo de expiración de los contenidos cacheados en el navegador de las personas que visitan tu sitio, lo recomendable es mínimo 1 día a más, dependiendo de qué tanto contenido cambie.
Siempre online: es una pantalla temporal que se activa en tusitio.com cuando tu server esta offline, si tu proveedor de hosting falla, a tus visitantes les aparecerá un aviso sobre dicho suceso, y les permitirá navegar tu web de forma estática desde el caché almacenado en la red de Cloudflare.
##Conclusión
Activar el cache en el CDN de Cloudflare es extremadamente sencillo, sólo debes abrir una cuenta gratis en Cloudflare.com, y luego seguir los pasos que he explicado aquí.
Recuerda la importancia de definir el cache para todo el sitio o bien para los recursos estáticos únicamente, que suele ser la mejor recomendación que puedo darte.
El CDN gratuito de Cloudflare sin duda alguna que fue lo que popularizó a esta gran empresa, y la catapultó hacia un uso masivo por parte de los usuarios, logrando así incluso eclipsar a grandes proveedores como Akamai y Amazon.
¿Qué hay de ti? ¿Ya probaste activarlo en tu cuenta? Cuéntanos tu historia.
Excelente guía** lo apliqué** y ya se encuentra funcionando en mi web CDN de cloudflare.