Gestión del despliegue de CIS para una fiabilidad óptima
Para lograr la fiabilidad óptima para su despliegue de IBM Cloud® Internet Services, puede definir una configuración DNS útil y configurar equilibradores de carga globales. Para una fiabilidad adicional, puede utilizar nuestras reglas de página para asegurarse de que el contenido web se entregue a sus clientes, incluso aunque el servidor de origen o la memoria caché tiene un problema. Este documento proporciona detalles sobre algunas mejores prácticas para hacer que el despliegue de CIS sea óptimamente fiable.
Generalmente, nuestras mejores prácticas recomendadas son estas:
- Configure el DNS para aprovechar los servidores proxy de CIS y otras características.
- Utilice uno o varios equilibradores de carga globales para distribuir si tráfico al sitio de manera uniforme.
- Configure las reglas de página apropiadas para gestionar el almacenamiento en memoria caché y otras opciones.
Cada uno de estos elementos proporciona determinada funcionalidad que puede utilizar para crear un despliegue de CIS más fiable.
Tenga en cuenta que la interfaz de CIS está organizada en secciones para seguridad, fiabilidad y rendimiento.
Configuración de DNS
Para empezar a configurar la configuración de DNS, seleccione DNS desde el menú de navegación.
Para obtener información sobre cómo configurar y administrar su DNS para mayor confiabilidad, consulte Configuración de su sistema de nombres de dominio para CIS.
Configuración de equilibradores de carga globales
Para empezar a configurar los equilibradores de carga globales, seleccione Equilibradores de carga globales desde el menú de navegación.
Para obtener información sobre cómo configurar y administrar sus balanceadores de carga globales, consulte Conceptos de balanceador de carga global.
Uso de reglas de página para aumentar la fiabilidad
La siguiente lista muestra algunas configuraciones de reglas de página recomendadas para dar a su sitio la máxima fiabilidad.
- Control de memoria caché de origen
- URL de reenvío
Proporcionar contenido obsoleto
Puede utilizar la configuración Servir contenido obsoleto para mantener una versión limitada de su sitio en línea si su servidor deja de funcionar.
Con Serve Stale Content, cuando su servidor deja de funcionar, CIS sirve páginas desde la caché, de modo que sus visitantes siguen viendo algunas de las páginas que intentan visitar. Los visitantes ven un mensaje en la parte superior de la página que les indica que están en modalidad de navegación fuera de línea. Servir contenido obsoleto devuelve un estado 503 de HTTP; sin embargo, 503 también lo utilizan muchas otras aplicaciones web. Cuando el servidor vuelva a estar en línea, CIS lleva a los usuarios de nuevo a la navegación normal sin interrupciones.
Si CIS no tiene la página solicitada en su memoria caché, el visitante verá una página de errores que le permitirá saber que la página del sitio web que está solicitando está fuera de línea.
Configuración de Servir contenido obsoleto
Para activar Servir contenido obsoleto, siga estos pasos.
- Utilice el menú de navegación para ir a Rendimiento > Almacenamiento en caché.
- Active la casilla Servir contenido obsoleto.
Limitaciones de la opción Servir contenido obsoleto
-
Serve Stale Content se integra con Internet Archive. CIS rastrea las URL más populares que tienen un estado
200
HTTP de las últimas 5 horas. Esto significa que solo se ven algunas páginas del sitio cuando cae el servidor de origen. -
Los sitios añadidos recientemente no disponen de una gran caché de su sitio. Esto significa que Servir contenido antiguo podría no funcionar si añadió el sitio hace sólo unos días.
-
CIS no muestra contenido privado ni maneja el envío de formularios (POST) si el servidor ha caído. A los visitantes se les muestra una página de
error on checkout
oitems require a login to view
. -
Para desencadenar Servir contenido obsoleto, el servidor web debe devolver un Código de error HTTP estándar de tiempo de espera 502 o 504. Serve Stale Content también funciona cuando CIS tiene problemas para contactar con su origen (errores 521 y 523), tiempos de espera (522 y 524), errores SSL (525 y 526) o un error desconocido (520). Servir contenido obsoleto no se desencadena para otros códigos de respuesta HTTP, como 404, 500, 503, errores de conexión de base de datos, errores de servidor interno o respuestas vacías del servidor.
-
Servir contenido obsoleto no funciona si está habilitada una regla de página "Almacenar todo en la memoria caché" con el "TTL de caducidad de la memoria caché edge" inferior a la frecuencia de almacenamiento en la memoria caché, porque el "TTL de caducidad de la memoria caché edge" hace que la memoria caché de Servir contenido obsoleto se depure en el intervalo correspondiente.
Control de memoria caché de origen
Puede utilizar el valor de Regla de página Control de memoria caché de origen para determinar qué contenido se almacena en la memoria caché desde su origen y con cuánta frecuencia se actualiza el contenido, lo que tiene un efecto en la fiabilidad y en el rendimiento. De forma predeterminada, si no se cambian los valores y no se envían cabeceras que impidan el almacenamiento en memoria caché desde su servidor de origen, CIS almacenará en la memoria caché todo el contenido estático con determinadas extensiones. Estos tipos de contenido incluyen imágenes, CSS y JavaScript. Este almacenamiento en memoria caché es principalmente por motivos de rendimiento.
Para configurar Control de memoria caché de origen, utilice reglas de página para activar cabeceras específicas que den el comportamiento deseado con respecto a cada recurso de contenido. Para comprender cómo utilizar Control de memoria caché de origen, se necesitan algunas explicaciones más generales de las reglas de página y un comportamiento de almacenamiento en memoria caché general para CIS para proporcionar contexto, que se tratan en las siguientes secciones. Existen tres métodos que puede utilizar para controlar el almacenamiento en memoria caché en general, y Control de memoria caché de origen es el segundo.
El establecimiento del Control de memoria caché de origen invoca las reglas de almacenamiento en memoria caché que buscan adherirse más a las mejores prácticas de Internet y RFC, principalmente con respecto a la revalidación.
Por ejemplo, el comportamiento predeterminado de CIS con max-age=0
es no almacenarse en la memoria caché en absoluto, mientras que establecer Control de memoria caché de origen almacena en la memoria caché, pero
siempre revalida.
Configuración de la opción Control de memoria caché de origen
Siga estos pasos para habilitar el control de caché de origen.
- Utilice el menú de navegación para seleccionar Reglas de página bajo Rendimiento.
- Cree una regla de página con el patrón URL que hace referencia al dominio.
- Añada el valor Control de memoria caché de origen con el conmutador activo.
- Seleccione Suministro de recursos.
Prioridad de Regla de página
Estas reglas específicas de página tienen prioridad para el almacenamiento en caché en general.
-
Si una regla de página tiene Nivel de caché establecido en
Bypass
, los recursos que coinciden con esa regla de página no se almacenan en la memoria caché. CIS sigue actuando como proxy y nuestras otras características de rendimiento permanecen activas. Sin embargo, su contenido se capta directamente desde nuestro servidor de origen en lugar de servirlo desde nuestra memoria caché. -
Si una regla de página tiene el Nivel de memoria caché establecido en
Cache everything
, los recursos que coincidan con la regla de página se almacenarán en la memoria caché. El uso de esta configuración de regla de página es la única forma de indicar a CIS que almacene en caché recursos más allá de lo que CIS considera estático, incluido HTML.
Si no se establece ninguna regla de página, CIS utiliza el modo de almacenamiento en caché Standard
, que se basa en la extensión del recurso. CIS sólo almacena en caché recursos estáticos.
Cabeceras cache-control de origen
La segunda forma de modificar las memorias caché de CIS es a través de las cabeceras de almacenamiento en memoria caché enviadas desde el origen. CIS respeta estos valores, pero puede modificarlos especificando un valor de regla de página TTL de caché de extremo. Estos son los encabezados que considera CIS al decidir qué recursos almacenar en caché desde su origen:
-
Si la cabecera Cache-Control se establece en
private
,no-store
,no-cache
omax-age=0
, o si hay una cookie en la respuesta, CIS no almacena el recurso en la memoria caché. Tenga en cuenta que el material confidencial no se debería almacenar en la memoria caché, por lo que podría pensar en utilizar una de estas cabeceras en tal caso. -
Si la cabecera Cache-Control se establece en
public
ymax-age
es mayor que 0, o si las cabecerasExpires
se establecen en cualquier momento del futuro, el recurso se almacena en la memoria caché.
De acuerdo con las reglas de RFC, Cache-Control: max-age
supera las cabeceras Expires
. Si se ven los dos y no están de acuerdo, max-age
ganará.
Uso de la cabecera s-maxage
La tercera forma de controlar el comportamiento del almacenamiento en memoria caché y el comportamiento del almacenamiento en memoria caché del navegador juntos es utilizando la cabecera Cache-Control s-maxage
.
Normalmente CIS respeta la directiva max-age
.
Cache-Control: max-age=1000
Pero si desea especificar un tiempo de espera de caché diferente al del navegador, CIS puede utilizar s-maxage
. El siguiente ejemplo indica a CIS que almacene en caché el objeto durante 200 segundos y al navegador que almacene
en caché el objeto durante 60 segundos.
Cache-Control: s-maxage=200, max-age=60
Básicamente, s-maxage
está pensado para ser seguido SÓLO por proxies inversos (por lo que el navegador debería ignorarlo) mientras que (CIS) da prioridad a s-maxage
si está presente. CIS respeta el valor que sea más
alto: la configuración de caché del navegador o el encabezado max-age
.
Resumen de las cabeceras cache control y de reglas de página para su fiabilidad
Para resumir, aquí hay algunas áreas principales a considerar para la fiabilidad con respecto al almacenamiento en memoria caché:
-
Compruebe las cabeceras de almacenamiento en la memoria caché de origen para asegurarse de que no haya cabeceras que se alteren temporalmente para los recursos guardados en la memoria caché (
Cache-Control
yExpires
). -
CIS siempre almacena en la memoria caché contenido estático de forma predeterminada, con el TTL siguiente que depende del código de retorno:
200 301 120m; 302 303 20m; 403 5m; for reliability 404 5m; any 0s;
-
Para almacenar más en memoria caché, cree una regla de página con el Nivel de memoria caché establecido en
Cache everything
en el URL (si el servidor web devuelve un 404 cuando solicite este URL, este resultado solo se almacena en la memoria caché solo durante 5 m). -
Para evitar el almacenamiento en memoria caché en un URL, cree una regla de página con Nivel de memoria caché establecido en
Bypass
.
URL de reenvío
Para asegurarse de que el contenido esté siempre disponible, cree una regla de página con el valor URL de reenvío utilizado, en caso de que su sitio no esté disponible.
Al habilitar un URL de reenvío, todos los demás valores se inhabilitan porque está enviando todo el tráfico a otro URL.
Configuración de un URL de reenvío
Para habilitar un URL de reenvío, siga estos pasos:
- Utilice el menú de navegación para seleccionar Reglas de página bajo Rendimiento.
- Cree una regla de página con el patrón URL que hace referencia al dominio.
- Añada el valor URL de reenvío.
- Seleccione el tipo de reenvío y especifique el URL de destino.
- Seleccione Suministro de recursos.
Ejemplos de URL de reenvío
Supongamos que desea facilitar que cualquiera llegue a un URL como:
*www.example.com/+
*example.com/+
Este patrón coincide con:
http://example.com/+
http://www.example.com/+
https://www.example.com/+
https://blog.example.com/+
https://www.blog.example.com/+
No coincide con:
http://www.example.com/blog/+ [extra directory before the +]
http://www.example.com+ [no trailing slash]
Después de crear el patrón que coincide con lo que desea, añada el valor URL de reenvío y seleccione el tipo de reenvío y especifique el URL de destino. Por ejemplo:
https://plus.google.com/yourid
Seleccione Suministro de recursos. En pocos segundos, cualquier solicitud que coincida con el patrón se reenvía al nuevo URL con la redirección especificada.
Opciones avanzadas de reenvío
Si utiliza una redirección básica, como por ejemplo el reenvío del dominio raíz a www.yourdomain.com
, no perderá nada más en el URL. Por ejemplo, podría configurar el patrón:
example.com
Y reenviarlo a:
http://www.example.com
Pero, si alguien ha especificado:
example.com/some-particular-page.html
A continuación, se redirigen a:
www.example.com
en lugar de:
www.example.com/some-particular-page.html
La solución es utilizar variables. Cada comodín corresponde a una variable a la que se puede hacer referencia en la dirección de reenvío. Las variables están representadas por un $
seguido por un número. Para hacer referencia
al primer comodín, utilizará $1
, para hacer referencia al segundo comodín, utilizará $2
, y así sucesivamente. Para arreglar el reenvío desde la raíz a www
en el ejemplo anterior, utilice el mismo patrón:
example.com/*
A continuación, configure el siguiente URL para que el tráfico se reenvíe a:
http://www.example.com/$1
En este caso, si alguien ha ido a:
example.com/some-particular-page.html
Se redirige a:
http://www.example.com/some-particular-page.html