Mar 272015
 
Artículo Administración de Servidores

La ubicación de un servidor web en relación con la ubicación de los usuarios que acceden al mismo puede influir decisivamente en el tiempo de carga efectivo de las páginas. Si la audiencia del un sitio es internacional, los usuarios que acceden desde América o Australia a un servidor ubicado en España o Alemania tendrán una impresión peor que la de los usuarios que acceden desde Europa.

Este problema se puede evitar utilizando un servicio de entrega de contenido distribuído, conocido habitualmente como CDN (Content Delivery Network).

En este artículo comentamos las características de un servicio de este tipo, poniendo como ejemplo la configuración de un sitio WordPress para hacer uso del CDN CloudFlare

Qué es y cómo funciona una CDN

Una CDN es una red de servidores distribuidos en distintas partes del mundo, que actúa como intermediario entre el navegador que solicita una página web, y el servidor que la entrega.

Cuando el usuario quiere acceder a una página, introduce su URL en el campo correspondiente del navegador, o hace click sobre un enlace que contiene la URL. Las urls son de la forma http://nombre-del-servidor-web/nombre-de-la-pagina. El primer paso que realiza el navegador es contactar con un servidor de nombres (servidor DNS) para obtener la dirección IP que corresponde a “nombre-de-servidor”. A continuación, envía la solicitud de la página a la dirección IP obtenida.

Si no se utiliza un servicio CDN, el servidor DNS devuelve la dirección IP del servidor web de destino, y la solicitud de página es enviada directamente al servidor web:

sin-cdn

Pero cuando se utiliza un servicio CDN, la dirección IP que devuelve el servidor DNS es la que corresponde al servidor CDN más próximo al navegador. Por lo tanto, el navegador envía la solicitud de página al servidor CDN.

La primera vez que se recibe una solicitud para una determinada página, el servidor CDN envía la solicitud al servidor web de destino, recibe la respuesta y se la entrega al navegador. Pero además guarda una copia de la respuesta recibida:

con-cdn-1

La segunda vez que recibe una solicitud para la misma página, el servidor CDN entrega directamente al navegador la copia que tiene guardada:

 

con-cdn-2

Los servidores del CDN continúan entregando directamente a los clientes el contenido que han almacenado localmente, sin que el servidor web tenga que intervenir, hasta que se cumple el tiempo de caducidad configurado.

De este modo, se consiguen dos objetivos:

  • La respuesta que se entrega al cliente procede de un servidor próximo, con lo que se reduce el tiempo asociado a la latencia de la red
  • La carga del servidor web se reduce considerablemente, porque casi todas las solicitudes son atendidas por el conjunto de servidores del CDN.

Utilizando CloudFlare

CloudFlare es un servicio CDN con un énfasis en la seguridad y en la protección contra spam y contra ataques DDoS, que ofrece un plan gratuito para blogs y sitios web pequeños. También ofrece planes con un coste a partir de $20 al mes, con mayores prestaciones y flexibilidad en la configuración.

Crear una cuenta en CloudFlare

Naturalmente, el primer paso para utilizar el servicio CDN de CloudFlare es crear una cuenta. El proceso de alta es muy sencillo, basta con acceder al sitio web de CloudFlare, hacer click sobre el enlace “Sign up”, introducir nuestros datos en el formulario que aparece, y enviarlo haciendo click en “Create account now”:

CloudFlare-SignupA continuación, un asistente nos va guiando por los pasos a seguir para añadir nuestro sitio a CloudFlare. En primer lugar, introducimos nuestro nombre de dominio:

cloudflare-add-bsiteA continuación, el asistente identifica los registros DNS que deben ser importados en la configuración de CloudFlare:

cloudflare-scan-dnsAl finalizar el análisis inicial nos presenta un formulario en el que aparecen los registros DNS identificados, y en el que podemos continuar añadiendo registros de subdominios que deben estar incluidos en la configuración DNS. A la derecha de cada registro, aparece el símbolo de una nube. El símbolo en color naranja indica que el subdominio utilizará el servicio CDN, mientras que el símbolo en color gris indica que las solicitudes recibidas para el subdominio serán enviadas directamente al servidor de nuestro sitio web, sin pasar por CloudFlare.

cloudflare-configure-dns

Por defecto, se añade a la configuración un subdominio FTP y un subdominio SSH, que acceden directamente al servidor web, sin pasar por los servidores de CloudFlare.
Una vez añadidos todos los registros DNS correspondientes a los subdominios de nuestro dominio, hay que hacer click sobre el botón “I’ve added all missing records, continue” para continuar con la configuración.

Seleccionar un plan para el servicio CloudFlare

En la siguiente pantalla podemos seleccionar el plan que queremos contratar para el servicio CDN. Los planes de pago ofrecen rendimiento mejorado y opciones adicionales de configuración y seguridad, pero el plan gratuito puede ser suficiente en la mayoría de los casos.

Por último, debermos actualizar la configuración del dominio para que utilice los servidores de nombres de CloudFlare que acabamos de configurar.

Cambiar a CloudFlare los servidores de nombres

El procedimiento a seguir para esta tarea depende del proveedor de alojamiento web utilizado por el sitio. En muchos casos, el proveedor de alojamiento proporciona un interfaz cPanel para gestionar la cuenta del usuario. En otros casos, el dominio ha sido registrado directamente en un registrador de dominio (goDaddy, EuroDNS,…), y el cambio de los servidores de nombres se debe realizar en la web del registrador.

Unavez cambiados los servidores de nombres, hay que regresar a la página de configuración de CloudFlare, y hacer click en el botón ‘I’ve updated my nameservers, continue’ para finalizar la configuración.

Configuración adicional de CloudFlare para un sitio WordPress

El procedimiento de configuración del CDN explicado hasta este punto es genérico para cualquier tipo de sitio web.

Los sitios web que utilizan WordPress como gestor de contenidos pueden además utilizar un plugin específico para la integración de CloudFlare.

Las principales carácterísticas de este plugin, como se expone en la página de presentación del mismo en el blog de CloudFlare, son:

  • El plugin restaura la dirección IP original del visitante en los logs de WordPress. Sin el plugin, las direcciones IP recogidas serían las de los servidores proxy de CloudFlare.
  • Ayuda a optimizar la base de datos del blog.
  • Permite denunciar el spam en el propio plugin, que envía un informe a CloudFlare para hacer el sistema anti-spam de CloudFlare más efectivo en la detección y prevención del spam

Sitios WordPress que utilizan W3TC

W3 Total Cache es probablemente el plugin más popular de entre los que se utilizan para mejorar el rendimiento de sitios WordPress.

W3TC implementa su propia integración con CloudFlare. Los sitios WordPress que utilizan W3TC no tienen necesidad de instalar el plugin de CloudFlare.

Referencias

 Publicado por en 3:45 pm

 Deja un comentario

(requerido)

(requerido)