Lanzar su escaparate

En esta guía se describe cómo lanzar un escaparate del kit de Progressive Web App (PWA) y hacerlo accesible desde su dirección web pública oficial.

A lo largo de esta guía utilizamos un escaparate de ejemplo con los siguientes atributos:

  • URL de producción: https://www.example.com
  • Código de identificación: example
  • Identificaciones de entorno: staging y production

Antes de ejecutar los comandos, sustituya los marcadores de posición con los valores reales. Los marcadores de posición tienen el siguiente formato: $PLACEHOLDER.

Consulte Decidir qué CDN usar.

Esta guía asume que usted tiene acceso a la aplicación web Runtime Admin y a la Managed Runtime API para realizar tareas administrativas. Para obtener acceso a estas herramientas, póngase en contacto con su administrador de Commerce Cloud y pídale que añada alguno de los siguientes roles a su cuenta a través del Account Manager: Usuario de Managed Runtime o Managed Runtime Admin.

Para realizar solicitudes a la Managed Runtime API, debe incluir una clave de API en el encabezado de la solicitud de HTTP Authorization con el valor, Bearer $API_KEY. Para todas las solicitudes de ejemplo proporcionadas, no olvide sustituir $API_KEY por su clave de API real.

Para encontrar su clave de API, inicie sesión en Runtime Admin y vaya a la página Configuración de la cuenta.

Importante: Trate su clave de API como una contraseña, ya que permite que los scripts completen operaciones en su nombre.

Debe acceder al proveedor de DNS para crear y actualizar los registros de CNAME y acceder a su proveedor de CDN de terceros (según corresponda).

En esta guía, la palabra “Mobify” aparece en varios lugares. Mobify es el nombre de la empresa que originalmente desarrolló la tecnología que se convirtió en PWA Kit y Managed Runtime. En 2020, Salesforce adquirió Mobify junto con toda su tecnología.

La marca Mobify aparece en el dominio mobify-storefront.com que se utiliza para albergar su escaparate y el dominio cloud.mobify.com utilizado por la API de Managed Runtime.

Si necesita agregar una lógica condicional que altere la conducta de su sitio según el dominio utilizado, es más fácil probar esta lógica cuando el servidor de desarrollo local puede utilizar un dominio personalizado. ¿Por qué necesitaría agregar este tipo de lógica? Considere, por ejemplo, la necesidad de buscar una identificación de cliente de SLAS diferente según el dominio.

Para ejecutar su servidor de desarrollo local usando un dominio personalizado:

  1. Modifique el DNS de su computadora local para resolver su dominio personalizado para 127.0.0.1 (localhost).
  2. Edite ssr.js.
  3. En las options pasadas a runtime.createHandler, establezca el puerto como 80.
  4. Ejecute EXTERNAL_DOMAIN_NAME=www.example.com npm start y reemplace el valor de example.com con su dominio personalizado. La ejecución del servidor en el puerto 80 en ocasiones podría requerir privilegios administrativos.

¡Las solicitudes de su navegador al dominio personalizado ahora se resuelven y enrutan a su servidor de desarrollo local!

El proceso para lanzar un entorno es el mismo para Presentación (Staging) y Producción (Production). La única diferencia es el nombre de dominio y el entorno de Managed Runtime utilizados.

Recomendamos encarecidamente realizar el proceso de lanzamiento en un entorno de Presentación (Staging) primero, antes de repetir el proceso en Producción (Production). Estos pasos deben completarse tan pronto como comiences un proyecto de PWA Kit y al menos dos semanas antes de la fecha de lanzamiento.

Para las instrucciones proporcionadas, imagine que quiere lanzar un escaparate en staging.example.com, la identificación del proyecto en Managed Runtime es example y el paquete se implementa en un entorno llamado staging.

Use Runtime Admin o Managed Runtime API para crear un entorno llamado staging a practicar el lanzamiento del escaparate.

Esta es una solicitud de ejemplo que usa el punto de projects_target_create conexión para crear un entorno. Reemplace example en la solicitud con la cadena de identificación del proyecto real y $API_KEY con su clave API:

Para obtener instrucciones sobre cómo crear un entorno con Runtime Admin, consulte nuestra guía de Administración de Managed Runtime.

Muchas implementaciones de PWA Kit realizan solicitudes a OCAPI o controllers, además de a la API de B2C Commerce.

Debe asegurarse de que Managed Runtime pueda acceder a su instancia de B2C Commerce.

Hacer que las API sean accesibles generalmente implica configurar la eCDN para que su instancia de B2C Commerce esté disponible en un dominio alternativo como ecom.example.com. Para obtener más información, consulte la documentación sobre ajuste y configuración de la eCDN.

Una vez configurado el dominio, actualice la configuración del proxy del entorno para utilizarlo. Para obtener más información, consulte nuestra guía de Solicitudes de conexión del proxy.

Este paso no es necesario cuando se usa una CDN o eCDN de terceros. Consulte la documentación del proveedor de su CDN para configurar los certificados.

Si está enrutando el tráfico directamente a la CDN de Managed Runtime, Managed Runtime emite y administra certificados TLS en su nombre.

Para permitir que Managed Runtime emita un certificado, debe:

  • Elija los dominios que desea utilizar para su escaparate. Por ejemplo, staging.example.com y www.example.com. Se admiten dominios comodín como *.example.com . Los certificados de dominio específicos solo se emitirán para dominios asociados con entornos de ensayo y producción.
  • Asegúrese de que los registros del CAA dominio estén configurados para permitir que AWS emita certificados.
  • Póngase en contacto con el servicio de atención al cliente de Salesforce y proporcione los dominios de certificado que desee. Espere un tiempo de respuesta de 1 a 2 días hábiles.
  • Salesforce proporciona un CNAME registro que se utiliza para validar la propiedad del dominio. Debe crear el registro proporcionado dentro de las 24 horas posteriores a la recepción de los detalles.

Managed Runtime renueva automáticamente los certificados TLS siempre y cuando:

  • El registro CNAME permanece en su lugar para validar la propiedad
  • El certificado TLS está en uso por al menos 1 entorno

Este paso no es necesario cuando se usa una CDN o eCDN de terceros.

Reduce el tiempo de vida (TTL) de staging.example.com a un minuto. Reducir el TTL acelera el proceso de corte de DNS y, si algo sale mal, permite deshacer los cambios rápidamente.

Puede verificar el TTL mediante el [dig]comando (https://en.wikipedia.org/wiki/Dig_(command) ):

Establezca el encabezado de control de acceso de un entorno mediante la interfaz de usuario de Managed Runtime en Configuración de control de acceso o mediante la access_control_header API. En este ejemplo, usamos la API para establecer un encabezado de control de acceso con el valor 25pn5dec7f1cde encabezado . Consulte Encabezadosde control de acceso.

El valor del encabezado de control de acceso se usará durante Realizar la transición para evitar el acceso directo al entorno.

Configurar el entorno para recibir tráfico desde el host staging.example.com.

Actualice el ssr_external_domain del entorno y la configuración ssr_external_hostname mediante la API projects_target_partial_update:

Luego de completar este paso, el entorno deja de ser accesible en el dominio mobify-storefront.com.

Verifique que la nueva configuración esté activa utilizando un comando cURL que haga una solicitud con DNS spoofing:

El proceso de transición es diferente en función de si utiliza una CDN de terceros, una eCDN o una CDN de Managed Runtime.

Configure su entorno de Managed Runtime como un origen en su CDN:

  • Configure el Host encabezado para que coincida con su entorno {{project}}-{{environment}}.mobify-storefront.com
  • reenviar el método de solicitud.
  • reenviar la ruta (incluida la cadena de consulta).
  • reenviar los encabezados.
  • reenviar el cuerpo.
  • reenviar todo el tráfico a través de HTTPS
  • obedecer a los encabezados de almacenamiento en caché de HTTP.
  • Establezca el valor del x-sfdc-access-control encabezado si está configurado para su entorno

Consulte la documentación de su proveedor de CDN para obtener pautas detalladas.

Managed Runtime enruta las solicitudes a los entornos mediante el encabezado HTTP Host . Las solicitudes con un host incorrecto se rechazan con una respuesta HTTP 403 Bad Request.

Considere agregar un controlador para reflejar las solicitudes HTTP y verifique que su CDN esté configurada correctamente:

Considere también agregar un proxy con httpbin.org/anything para verificar que los encabezados pasados a proxy se envíen correctamente.

Si tiene problemas, use las técnicas descritas en Depurar aplicacionesde PWA Kit.

Actualice las reglas de enrutamiento de la eCDN para dirigir el tráfico a su entorno de Managed Runtime. Revise la guía MRT de eCDN para obtener más información. También puede configurar reglas de enrutamiento de MRT en Business Manager.

Use la API upsertOriginHeaderModification para establecer headerValue en los mismos que usó en el paso 5. De esta manera, solo se permite el tráfico de la eCDN. En este ejemplo, usamos la API para establecer un encabezado de control de acceso con el valor de encabezado .

Realice una transición de DNS para apuntar su dominio desde el origen anterior a la CDN de Managed Runtime.

El dominio de CDN de Managed Runtime sigue la convención {{project}}-{{environment}}-cdn.mobify-storefront.com , donde {{project}} está el identificador de proyecto y {{environment}} es el identificador de entorno.

Actualice el registro DNS CNAME de staging.example.com a example-staging-cdn.mobify-storefront.com.

Abra su navegador web y vaya a staging.example.com.

Felicidades, ¡ha completado el lanzamiento! 🥳

Después de completar estas instrucciones para un sitio de Staging, puede repetir el mismo proceso con el dominio y entorno de Production.

A partir de aquí, el grupo de Customer Success le ayudará a monitorear el tráfico del sitio para asegurarse de que el lanzamiento haya sido exitoso. El objetivo es garantizar que todo se desarrolle de la manera esperada durante el lanzamiento.

Después del lanzamiento, los clientes con un Plan Signature Success reciben un servicio de monitoreo proactivo del sitio. Para aprovechar este servicio de mayor monitoreo, debe marcar su entorno como de production. Para obtener más información, consulte la sección sobre entornos en la Visión general de Managed Runtime.

  • La configuración del objetivo ssr_external_hostname controla de qué host recibe tráfico el entorno. Si el encabezado de HTTP Host de una solicitud no coincide con este valor, la solicitud falla con un error 403.
  • Actualmente, Salesforce no admite URL de escaparates con un dominio básico como example.com (sin subdominio www). Para utilizar un dominio básico, debe configurar un servidor para redirigir las solicitudes del dominio básico a su CNAME.