Lanzar su escaparate (storefront)
Esta guía describe cómo lanzar un escaparate de PWA Kit y cómo hacerlo accesible desde la dirección web oficial y pública. Tiene tres opciones para lanzar y enrutar el tráfico hacia su escaparate de PWA Kit:
- Utilizar una CDN de terceros, como CloudFlare o Akamai.
- Utilizar la CDN integrada (eCDN) proporcionada por Salesforce Commerce Cloud. Para obtener más información acerca del enrutamiento de tráfico a Managed Runtime utilizando la eCDN, consulte la guía.
- Utilizar la CDN de Managed Runtime.
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
yproduction
La agrupación de una CDN de terceros, además de Managed Runtime, es opcional. Los clientes pueden elegir utilizar una CDN de terceros según:
- Una relación preexistente con su proveedor de CDN preferido, en el que los equipos internos están capacitados para configurar y administrar una CDN.
- Necesidad de un control adicional de las funciones de la CDN más allá de lo que proporciona la eCDN o el tiempo de ejecución administrado.
Los clientes que desean un bajo costo para ofrecer el servicio y un tiempo rápido para la comercialización y tienen requisitos de CDN limitados pueden utilizar eCDN o la CDN de Managed Runtime integrada.
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:
- Modifique el DNS de su computadora local para resolver su dominio personalizado para
127.0.0.1
(localhost). - Edite
ssr.js
. - En las
options
pasadas aruntime.createHandler
, establezca el puerto como80
. - Ejecute
EXTERNAL_DOMAIN_NAME=www.example.com npm start
y reemplace el valor deexample.com
con su dominio personalizado. La ejecución del servidor en el puerto80
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
ywww.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
CAA
registros de dominios 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.
- 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.
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 utilizando el comando dig
:
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 25pn5dec7f1c
de encabezado . Consulte Encabezadosde control de acceso.
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.
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 HTTPHost
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 subdominiowww
). Para utilizar un dominio básico, debe configurar un servidor para redirigir las solicitudes del dominio básico a su CNAME.