API de CDN para implementaciones híbridas

Un lanzamiento por fases es una técnica para brindar una única experiencia de compra utilizando varias tecnologías de escaparate, como Storefront Reference Architecture (SFRA) y Composable Storefront.

Una CDN integrada (eCDN) puede enrutar el tráfico tanto a SFRA como a Managed Runtime al mismo tiempo, lo que le permite lanzar gradualmente un Composable Storefront.

Esta guía describe cómo utilizar Zonas de CDN de la API de Commerce para enrutar tráfico a Managed Runtime. También puede usar Business Manager para redirigir el tráfico a Managed Runtime. Configurar las reglas de enrutamiento de MRT en Business Manager

Antes de ejecutar los comandos de esta guía, sustituya los marcadores de posición por valores reales. Los marcadores de posición tienen el siguiente formato: $PLACEHOLDER.

A lo largo de esta guía, usamos un storefront de ejemplo con la URL https://www.example.comde producción .

  1. Familiarícese con los API de autorización para administradores.
  2. Debe tener un cliente de API de Account Manager con el alcance sfcc.cdn-zones.rw.
  3. Debe conocer la identificación de la zona eCDN que se utilizará con Managed Runtime. Para obtener esta información, utilice el punto de conexión getZonesInfo de la API de zonas de CDN.
  4. Utilice updateSecuritySettings para habilitar alwaysUseHttps en la zona. Managed Runtime solo admite tráfico a través de HTTPS.
  5. Configure su redirect_uri de cliente de API de SLAS para que incluya la zona.
  6. Si restringió el conjunto de IP permitidas para acceder a su entorno de Managed Runtime, agregue las IP de CloudFlare utilizadas por eCDN al conjunto de IP permitidas.

Con el punto de conexión createMrtRules, puede crear reglas que enruten el tráfico a un entorno de Managed Runtime:

Examinemos los datos proporcionados en el cuerpo de la solicitud.

El valor de mrtHostname es el dominio del entorno de Managed Runtime para el enrutamiento de tráfico. Debe hacer referencia a un entorno de Managed Runtime alojado en el dominio mobify-storefront.com. Si el valor proporcionado está siendo utilizado por una regla existente, la solicitud falla.

Managed Runtime es el único destino del enrutamiento admitido.

El valor de expressions es una variedad de expresiones de reglas de Cloudflare que controla qué solicitudes se enrutan a Managed Runtime. Para la mayoría de las implementaciones, una única expresión de enrutamiento es suficiente.

Además de las expresiones proporcionadas, se utilizan las siguientes reglas de enrutamiento predeterminadas:

Los cambios de enrutamiento se aplican de inmediato, y navegar a una URL que coincide con una expresión devuelve contenido recuperado de Managed Runtime.

  • Se admiten los siguientes escenarios de enrutamiento:

    • Un único nombre de host asignado a un único entorno de MRT:

      • Por ejemplo, http.host eq \"www.example.com\"example-production.mobify-storefront.com
    • Varios nombres de host asignados a un único entorno de MRT:

      • Por ejemplo, http.host in {\"www.example.com\" \"prod.example.com\" \"us.example.com\"}example-production.mobify-storefront.com
  • Actualmente no se admite el siguiente escenario de enrutamiento:

    • Un único nombre de host asignado a varios entornos de MRT basados en diferentes rutas de acceso

Las expresiones se validan con respecto a los siguientes criterios:

  • http.host Debe ocurrir exactamente una vez y debe ir seguido por el eq operador O in. Consulte más arriba para ver ejemplos de uso.
  • Los nombres de host deben coincidir con la zona. O en otras palabras, la zona eCDN debe tener un certificado válido que cubra los nombres de host proporcionados.
  • Se admiten los siguientes campos:
    • http.host
    • http.request.uri.path
    • http.request.uri
    • http.cookie
  • La longitud máxima de una expresión es 3072 caracteres.
  • Se puede asociar un máximo de 100 expresiones a una zona.

Mientras continúa con su lanzamiento por fases, puede enrutar más solicitudes a Managed Runtime.

Para modificar una expresión de enrutamiento, utilice getMrtRule para obtener las identificaciones del conjunto de reglas y la regla asociados con la expresión que desea actualizar:

Luego, utilice updateMrtRule para actualizar la expresión:

Para agregar más reglas de enrutamiento a un entorno de Managed Runtime existente, use updateMrtRuleset y proporcione las expresiones de mrtHostname enrutamiento y adicionales:

Para agregar reglas de enrutamiento para un nuevo entorno de Managed Runtime, use el punto de conexión createMrtRules y proporcione un nuevo mrtHostname valor:

Para actualizar las reglas existentes para enrutar a un entorno de Managed Runtime diferente, use updateMrtRuleset y proporcione el oldMrtHostname y el (nuevo) mrtHostname al que desea enrutar:

Si va a cambiar a una CDN de terceros o ya no desea enrutar una ruta de acceso determinada de eCDN a MRT, puede deshabilitar el enrutamiento.

Para deshabilitar el enrutamiento, use getMrtRules para obtener los identificadores de la configuración que desea eliminar:

A continuación, para quitar la regla de enrutamiento de Managed Runtime, use deleteMrtRule y pase los ID aplicables devueltos por getMrtRules:

Si desea eliminar todas las reglas de enrutamiento de Managed Runtime, use deleteMrtRuleset:

Cuando complete su lanzamiento por fases, o si lanzará un sitio nuevo, puede elegir enrutar todo el tráfico para una zona a Managed Runtime usando una única expresión:

En los entornos en los que eCDN no está disponible, utilice composable-hybrid-dev-server para simular el enrutamiento de eCDN.