API CDN per implementazioni ibride
Un'implementazione headless in fasi è una tecnica che consente di offrire un'unica esperienza di acquisto utilizzando più tecnologie di storefront come Storefront Reference Architecture (SFRA) e Composable Storefront.
Una zona CDN incorporata (eCDN) può instradare il traffico sia a SFRA sia a Managed Runtime contemporaneamente, consentendo di implementare gradualmente un Composable Storefront.
Questa guida descrive come utilizzare le zone CDN di Commerce API per instradare il traffico a Managed Runtime. È inoltre possibile utilizzare Business Manager per instradare il traffico al runtime gestito. Configure MRT Routing Rules in Business Manager (Configurazione delle regole di routing MRT in Business Manager)
Prima di eseguire i comandi di questa guida, sostituire tutti i segnaposto con valori effettivi. I segnaposto sono formattati nel seguente modo: $PLACEHOLDER.
In questa guida viene utilizzato uno storefront di esempio con l'URL https://www.example.comdi produzione.
Solo i clienti esistenti possono accedere ad alcuni dei link di questa pagina. Per informazioni su come accedere ai repository di Commerce Cloud, vedere Salesforce Commerce Cloud GitHub: repository e accesso.
- Acquisire dimestichezza con l'ambito di autorizzazione per le Admin API
- È necessario disporre di un client API di Account Manager con ambito sfcc.cdn-zones.rw.
- È necessario conoscere l'ID della zona eCDN da utilizzare con Managed Runtime. Per ottenere queste informazioni, utilizzare l'endpoint getZonesInfo della CDN Zones API.
- Utilizzare updateSecuritySettings per abilitare alwaysUseHttpsnella zona. Managed Runtime supporta solo il traffico sul protocollo HTTPS.
- Impostare redirect_uridel client API SLAS in modo che includa la zona.
- Se è stato limitato il set di IP autorizzati ad accedere all'ambiente Managed Runtime, aggiungere gli IP CloudFlare utilizzati dalla eCDN al set di IP autorizzati.
Con l'endpoint createMrtRules è possibile creare regole che instradano il traffico a un ambiente Managed Runtime:
Si esaminino i dati forniti nel corpo della richiesta.
Il valore di mrtHostname è il dominio dell'ambiente Managed Runtime per l'instradamento del traffico. Deve fare riferimento a un ambiente Managed Runtime ospitato nel dominio mobify-storefront.com. Se il valore fornito viene utilizzato da una regola esistente, la richiesta non va a buon fine.
Managed Runtime è l'unica destinazione di instradamento supportata.
Il valore di expressions è una matrice di espressioni di regola di Cloudflare che controlla quali richieste vengono instradate a Managed Runtime. Per la maggior parte delle implementazioni è sufficiente una singola espressione di instradamento.
Oltre alle espressioni fornite, vengono utilizzate le seguenti regole di instradamento predefinite:
Le modifiche dell'instradamento vengono applicate immediatamente e l'accesso a un URL che corrisponde a un'espressione restituisce il contenuto recuperato da Managed Runtime.
- 
Sono supportati i seguenti scenari di routing: - 
Un singolo nome host mappato a un singolo ambiente MRT: - Ad esempio, http.host eq \"www.example.com\"→example-production.mobify-storefront.com
 
- Ad esempio, 
- 
Più nomi host mappati a un singolo ambiente MRT: - Ad esempio, http.host in {\"www.example.com\" \"prod.example.com\" \"us.example.com\"}→example-production.mobify-storefront.com
 
- Ad esempio, 
 
- 
- 
Il seguente scenario di routing non è attualmente supportato: - Un singolo nome host mappato a più ambienti MRT in base a percorsi diversi
 
Le espressioni vengono convalidate in base ai seguenti criteri:
- http.hostdeve verificarsi esattamente una volta e deve essere seguito dall'operatore- eqor- in. Vedere sopra per esempi di utilizzo.
- I nomi host devono corrispondere alla zona. In altre parole, la zona eCDN deve disporre di un certificato valido che copra i nomi host forniti.
- Sono supportati i seguenti campi:
- http.host
- http.request.uri.path
- http.request.uri
- http.cookie
 
- Un'espressione può contenere al massimo 3.072 caratteri.
- A una zona possono essere associate al massimo 100 espressioni.
Man mano che si prosegue con l'implementazione in fasi, è possibile instradare più richieste a Managed Runtime.
Per modificare un'espressione di instradamento, utilizzare getMrtRule per ottenere gli ID del set di regole e della regola associata all'espressione che si desidera aggiornare:
Successivamente utilizzare updateMrtRule per aggiornare l'espressione:
Per aggiungere altre regole di routing a un ambiente di runtime gestito esistente, utilizzare updateMrtRuleset e fornire le mrtHostname espressioni di routing e aggiuntive:
Per aggiungere regole di routing per un nuovo ambiente di runtime gestito, usare l'endpoint createMrtRules e fornire un nuovo mrtHostname valore:
Per aggiornare le regole esistenti in modo che vengano instradate a un ambiente di runtime gestito diverso, utilizzare updateMrtRuleset e specificare l'oggetto oldMrtHostname e il (nuovo) mrtHostname a cui si desidera eseguire il routing:
Se si sta passando a una rete CDN di terze parti o non si desidera più instradare un determinato percorso dalla rete eCDN alla rete MRT, è possibile disabilitare il routing.
Per disabilitare il routing, utilizzare getMrtRules per ottenere gli ID della configurazione che si desidera eliminare:
Quindi, per rimuovere la regola di routing del runtime gestito, utilizzare deleteMrtRule e passare gli ID applicabili restituiti da getMrtRules:
Se si desidera rimuovere tutte le regole di routing del runtime gestito, usare deleteMrtRuleset:
Se è stata completata l'implementazione in fasi o si desidera lanciare un nuovo sito, è possibile scegliere di instradare tutto il traffico per una zona a Managed Runtime utilizzando una singola espressione:
Negli ambienti in cui la eCDN non è disponibile, utilizzare composable-hybrid-dev-server per simulare l'instradamento eCDN.