Cómo configurar CloudFlare en un sitio Joomla!

⚠️ Nota importante

Este artículo tiene más de un año. La tecnología evoluciona rápido, por lo que algunos contenidos o instrucciones pueden estar desactualizados. Recuerda buscar información reciente y actualizada.

Este artículo no pretende ser una guía definitiva para configurar CloudFlare en un sitio web. Cada quién definirá si lo quiere realizar de la misma forma que yo o si usará métodos distintos. De hecho, yo no soy experto en estos temas, por lo que gran parte de lo que expondré en este artículo lo entendí gracias al servicio técnico de Webempresa que me ayudó a realizar la configuración de la manera más correcta. Más adelante explicaré porque se considera el método correcto. 

Por defecto, cuando vamos a configurar CloudFlare, el mismo sistema automatizado que reconoce los registros DNS de nuestro sitio y activa el servicio de CDN para los registros WWW y dominio.com. Posteriormente, lo único que debemos hacer es cambiar los nameservers del dominio y tendremos CloudFlare activado y funcionando. Si embargo esto tiene dos desventajas principales.

La primera es que todo el sitio será filtrados a través de CloudFlare. Tanto contenido el estático como el dinámico deberán ser "procesados" por CloudFlare por lo que en la mayoría de los casos esto más que propiciar un aumento de velocidad del sitio más bien es contraproducente y lo ralentiza. Básicamente, esto aumenta la cantidad de conexiones que se necesitan para desplegar la página al usuario. 

La segunda desventaja es que, a menos que nuestro servidor corra el mod_cloudflare o utilicemos la extensión de CloudFlare para Joomla!, la IP detectada por el servidor en cada visita es la IP de CloudFlare y no la IP del cliente o el usuario. Aún utilizando la extensión para Joomla! esto se puede dar así que no es lo mejor confiarse de este plugin.  ¿Cual es la desventaja? El problema es que si un robot malicioso (de los cuales hay miles) realiza un ataque al sitio, el servidor pensará que CloudFlare lo está atacando y bloqueará el servidor de CloudFlare lo que a su vez provocará errores en el sitio web. Si únicamente el contenido estático fuera filtrado por los servidores de CloudFlare esto no se daría ya que un ataque con un elemento estático no dispararía una reacción tan drástica del servidor. 

Es importante aclarar la diferencia entre que el sitio completo este pasando a través del servidor de CloudFlare (siendo filtrado tanto contenido estático como dinámico indistintamente) y que CloudFlare este cacheando solo contenido dinámico. No es lo mismo. CloudFlare por defecto filtrará todo el sitio web al agregar y activar el servicio para los registros dominio.com y www.dominio.com pero esto no quiere decir que salve en caché el contenido dinámico sino solo el estático. 

Procedimiento de configuración

 ¿Qué podemos hacer? Bueno, el procedimiento es realmente sencillo. Lo que necesitamos lograr es que los servidores de CloudFlare no filtren todo el sitio web sino que únicamente el contenido estático a la vez que lo guardan en caché. Al final de cuentas, esta es la idea de usar el CDN. Los archivos estáticos como imágenes, JavaScript, CSS, y documentos serán cacheados y filtrados (lo que incluye el procesado para mejora de rendimiento como minificación y carga asíncrona). 

  • El primer paso es desactivar el servicio CloudFlare para todos los registros recuperados automáticamente y agregar un nuevo registro tipo A que se llame estaticos.dominio.com. Entendiendo que debemos cambiar "dominio" por el de nuestro sitio web como se ve en la imagen. 

cloudflare1

  • En la configuración de nuestro servidor o en el CPanel debemos agregar el subdominio estaticos.dominio.com y apuntarlo a la carpeta root del sitio como se ve en la imagen. 

cpanel1

  • Hecho esto, vamos a utilizar la extensión CDN for Joomla! de NoNumber para terminar de establecer la conexión entre el subdominio recién creado y CloudFlare. Además podremos definir el tipo de archivos que queremos que filtre y cacheé CloudFlare. Una vez instalado el plugin, vamos a la configuración e indicamos el dominio CDN que vamos a utilizar. En este caso estaticos.dominio.com. Todo lo demás lo dejamos igual. 

plugincdn2

  • Ahora podemos cambiar los nameservers a los proporcionados por CloudFlare y activar el servicio para el dominio que hemos añadido a CloudFlare. 

Siguiendo estos pasos, ya no deberíamos tener problemas con bloqueos de IP por parte del servidor por reglas de seguridad anti-SPAM y otro tipo de ataques. Además las imágenes y demás contenido estático de nuestra web estaría cacheado en los servidores de CloudFlare lo que nos asegura pings bajos en todo el mundo y aumento en la velocidad de carga. Podrán verificar que todas las imágenes, archivos JS y CSS así como los demás tipos de archivo que hayamos seleccionado y agregado en la configuración de CDN for Joomla! serán cargados desde el subdominio estaticos.dominio.com. Si conoces y has probado algún otro método y te ha funcionado no dudes en compartirlo en los comentarios. 

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.