Start Ihrer Storefront
Diese Anleitung beschreibt, wie Sie eine PWA Kit-Storefront starten und über ihre offizielle öffentliche Webadresse zugänglich machen. Sie haben drei Möglichkeiten, Ihr PWA Kit-Storefront zu starten und Traffic dorthin zu leiten:
- Verwenden Sie ein externes CDN wie CloudFlare oder Akamai.
- Verwenden Sie das von Salesforce Commerce Cloud bereitgestellte Embedded CDN (eCDN). Weitere Informationen zum Traffic-Routing an Managed Runtime mithilfe von eCDN finden Sie in der Anleitung.
- Verwenden Sie das Managed Runtime CDN.
Im Rahmen dieser Anleitung verwenden wir eine Beispiel-Storefront mit den folgenden Attributen:
- Production-URL:
https://www.example.com
- Projekt-ID:
example
- Umgebungs-IDs:
staging
undproduction
Das Aufsetzen eines CDN eines Drittanbieters auf Managed Runtime ist optional. Kunden können sich aus den folgenden Gründen für das CDN eines Drittanbieters entscheiden:
- Eine bereits bestehende Beziehung zum CDN-Anbieter Ihrer Wahl, dessen interne Teams in der Konfiguration und Verwaltung eines CDN geschult sind.
- Bedarf an zusätzlicher Kontrolle von CDN-Funktionalitäten, die über das hinausgehen, was eCDN oder Managed Runtime bieten.
Kunden, die niedrige "Cost to Serve" (CTS) und eine schnelle Markteinführung wünschen und nur begrenzte CDN-Anforderungen haben, können entweder eCDN oder das integrierte Managed Runtime CDN verwenden.
In dieser Anleitung wird davon ausgegangen, dass Sie für die Durchführung administrativer Aufgaben auf die Runtime Admin-Webanwendung und die Managed Runtime API zugreifen können. Um Zugriff auf diese Tools zu erhalten, bitten Sie Ihren Commerce Cloud-Administrator, Ihrem Konto eine der beiden folgenden Rollen im Account Manager hinzuzufügen: Managed Runtime User oder Managed Runtime Admin.
Um Anfragen an die Managed Runtime API zu senden, müssen Sie im Header Authorization
der HTTP-Anfrage einen API-Schlüssel mit dem Wert Bearer $API_KEY
einfügen. Vergessen Sie bei allen Beispielanfragen nicht, $API_KEY
mit Ihrem tatsächlichen API-Schlüssel zu ersetzen.
Um Ihren API-Schlüssel zu finden, melden Sie sich bei Runtime Admin an und rufen Sie die Seite Kontoeinstellungen auf.
Wichtig: Behandeln Sie Ihren API-Schlüssel wie ein Passwort, da er es Skripts ermöglicht, Vorgänge in Ihrem Namen auszuführen.
Sie benötigen Zugang zu Ihrem DNS-Anbieter, um CNAME-Datensätze zu erstellen und zu aktualisieren, und gegebenenfalls auch Zugang zu Ihrem CDN-Drittanbieter.
In dieser Anleitung werden Sie gelegentlich auf den Namen Mobify stoßen. Mobify ist der Name des Unternehmens, das ursprünglich die Technologie entwickelt hat, die PWA Kit und Managed Runtime als Grundlage dient. Im Jahr 2020 hat Salesforce Mobify zusammen mit der gesamten Technologie des Unternehmens übernommen.
Der Markenname Mobify wird in der Domain mobify-storefront.com
, die als Host Ihrer Storefront dient, sowie in der von der Managed Runtime API genutzten Domain cloud.mobify.com
verwendet.
Wenn Sie eine bedingte Logik hinzufügen müssen, die das Verhalten Ihrer Website in Abhängigkeit von der verwendeten Domain ändert, ist es einfacher, diese Logik zu testen, wenn Ihr lokaler Entwicklungsserver eine benutzerdefinierte Domain verwenden kann. Warum sollten Sie diese Art von Logik hinzufügen müssen? Beispielsweise kann es notwendig sein, je nach Domain eine andere SLAS Client-ID zu ermitteln.
So führen Sie Ihren lokalen Entwicklungsserver mit einer benutzerdefinierten Domain aus:
- Ändern Sie den DNS Ihres lokalen Computers so, dass Ihre benutzerdefinierte Domain in
127.0.0.1
(localhost) aufgelöst wird. - Bearbeiten Sie
ssr.js
. - Legen Sie in den an
runtime.createHandler
übergebenenoptions
den Port auf80
fest. - Führen Sie
EXTERNAL_DOMAIN_NAME=www.example.com npm start
aus, wobei Sie den Wert vonexample.com
durch Ihre benutzerdefinierte Domain ersetzen. Für die Ausführung des Servers auf Port80
sind in manchen Fällen Administratorrechte erforderlich.
Anfragen Ihres Browsers an die benutzerdefinierte Domain werden nun aufgelöst und an Ihren lokalen Entwicklungsserver weitergeleitet!
Der Startprozess ist identisch für Staging- und Production-Umgebungen; die einzigen Unterschiede sind der Domain-Name und die verwendete Managed Runtime-Umgebung.
Es wird dringend empfohlen, den Startprozess zuerst in einer Staging-Umgebung zu durchlaufen, bevor Sie ihn in einer Production-Umgebung wiederholen. Diese Schritte sollten abgeschlossen sein, sobald Sie ein PWA Kit-Projekt starten, und mindestens zwei Wochen vor Ihrem Startdatum.
Gehen wir im Rahmen der bereitgestellten Anweisungen davon aus, dass Sie eine Storefront auf staging.example.com
starten, Ihre Projekt-ID in Managed Runtime example
lautet und Ihr Bündel in einer Umgebung namens staging
bereitgestellt wird.
Verwenden Sie Runtime Admin oder Managed Runtime API, um eine Umgebung namens staging
zu erstellen, um das Starten der Storefront zu üben.
Hier sehen Sie eine Beispielanfrage, die den Endpunkt projects_target_create verwendet, um eine Umgebung zu erstellen. Ersetzen Sie example
in der Anfrage durch die Zeichenfolge Ihrer tatsächlichen Projekt-ID und $API_KEY
durch Ihren API-Schlüssel:
Anweisungen für die Erstellung einer Umgebung mit Runtime Admin finden Sie in unserer Anleitung Managed Runtime Administration.
Viele PWA Kit-Implementierungen stellen zusätzlich zur B2C Commerce API Anfragen an OCAPI oder Controller.
Sie müssen sicherstellen, dass Ihre B2C Commerce-Instanz über Managed Runtime erreichbar ist.
Um die APIs erreichbar zu machen, müssen Sie in der Regel eCDN konfigurieren, um Ihre B2C Commerce-Instanz in einer alternativen Domain wie ecom.example.com
verfügbar zu machen. Weitere Informationen finden Sie in der Dokumentation zu Setup und Konfiguration von eCDN.
Nachdem Ihre Domain konfiguriert wurde, aktualisieren Sie die Proxy-Einstellungen Ihrer Umgebung, um sie zu verwenden. Näheres hierzu finden Sie in unserer Anleitung zu Proxy-Anfragen.
Dieser Schritt ist nicht erforderlich, wenn Sie ein CDN oder eCDN eines Drittanbieters verwenden. Ziehen Sie die Dokumentation Ihres CDN-Anbieters zurate, um Zertifikate zu konfigurieren.
Wenn Sie Traffic direkt an das Managed Runtime CDN weiterleiten, stellt Managed Runtime TLS-Zertifikate in Ihrem Namen aus und verwaltet diese.
Damit Managed Runtime ein Zertifikat ausstellen kann, müssen Sie folgende Schritte ausführen:
- Wählen Sie die Domains aus, die Sie für Ihre Storefront verwenden möchten. Zum Beispiel
staging.example.com
undwww.example.com
. Platzhalter-Domains wie*.example.com
werden unterstützt. Bestimmte Domain-Zertifikate werden nur für Domains ausgestellt, die mit Staging- und Production-Umgebungen verknüpft sind. - Stellen Sie sicher, dass die Domain-Datensätze
CAA
so festgelegt sind, dassAWS Zertifikate ausstellen darf. - Wenden Sie sich an den Salesforce-Kundensupport und geben Sie die gewünschten Domains für die Zertifikate an.
- Salesforce stellt einen
CNAME
-Datensatz bereit, der zur Validierung des Domain-Eigentums verwendet wird. Sie müssen den bereitgestellten Datensatz innerhalb von 24 Stunden nach Erhalt der Einzelheiten erstellen.
Dieser Schritt ist nicht erforderlich, wenn Sie ein CDN oder eCDN eines Drittanbieters verwenden.
Reduzieren Sie die Zeit bis zur Live-Schaltung (TTL) für staging.example.com
auf 1 Minute. Die Reduzierung der TTL beschleunigt den DNS-Wechsel, und falls etwas schief läuft, können Sie den Prozess schnell wieder rückgängig machen.
Mit dem Befehl dig
können Sie die TTL verifizieren:
Legen Sie den Access Control Header einer Umgebung mithilfe der Managed Runtime-Benutzeroberfläche unter Access-Control-Einstellungen oder mithilfe der access_control_header API fest. In diesem Beispiel verwenden wir die API, um einen Access Control Header mit dem Header-Wert 25pn5dec7f1c
einzurichten. Siehe Access Control Headers.
Konfigurieren Sie die Umgebung für den Empfang von Traffic vom Host staging.example.com
.
Aktualisieren Sie die Umgebungseinstellungen ssr_external_domain
und ssr_external_hostname
mithilfe der projects_target_partial_update API:
Nach diesem Schritt ist die Umgebung nicht länger unter ihrer Domain mobify-storefront.com
zugänglich.
Verifizieren Sie, dass die neuen Einstellungen aktiv sind. Verwenden Sie dazu einen cURL-Befehl, der eine Anfrage mittels DNS-Spoofing durchführt:
Bei Verwendung eines CDN eines Drittanbieters, eines eCDN und des Managed Runtime CDN ist der Wechselprozess anders.
Konfigurieren Sie Ihre Managed Runtime-Umgebung als Ursprung in Ihrem CDN:
- Legen Sie den
Host
-Header so fest, dass er Ihrer Umgebung{{project}}-{{environment}}.mobify-storefront.com
entspricht; - leiten Sie die Anfragemethode weiter;
- leiten Sie den Pfad (einschließlich Abfrage-String) weiter;
- leiten Sie die Header weiter;
- leiten Sie den Textkörper weiter;
- leiten Sie den gesamten Traffic über HTTPS weiter;
- befolgen Sie HTTP-Caching-Headers;
- legen Sie den Header-Wert
x-sfdc-access-control
fest, wenn dieser für Ihre Umgebung konfiguriert ist.
Eine ausführliche Anleitung finden Sie in der Dokumentation Ihres CDN-Anbieters.
Managed Runtime leitet Anfragen mithilfe des HTTP-Headers Host
an Umgebungen weiter. Anfragen mit einem falschen Host werden mit einer HTTP 403 Bad Request-Antwort abgelehnt.
Erwägen Sie das Hinzufügen eines Handlers, um HTTP-Anfragen widerzuspiegeln, und stellen Sie sicher, dass Ihr CDN ordnungsgemäß konfiguriert ist:
Ziehen Sie auch das Hinzufügen eines Proxys mit httpbin.org/anything in Betracht, um zu überprüfen, ob die an Proxys übergebenen Header ordnungsgemäß gesendet werden.
Wenn Probleme auftreten, verwenden Sie die unter Debuggen von PWA Kit-Apps beschriebenen Methoden.
Aktualisieren Sie Ihre eCDN-Routing-Regeln, um Traffic an Ihre Managed Runtime-Umgebung weiterzuleiten. Weitere Informationen finden Sie imLeitfaden eCDN-MRT-Regeln.
Führen Sie einen DNS-Wechsel durch, um Ihre Domain vom alten Ursprung auf das Managed Runtime CDN zu verweisen.
Die Managed Runtime CDN-Domain folgt der Konvention {{project}}-{{environment}}-cdn.mobify-storefront.com
, wobei {{project}}
Ihre Projekt-ID und {{environment}}
Ihre Umgebungs-ID ist.
Ändern Sie den DNS CNAME-Datensatz für staging.example.com
zu example-staging-cdn.mobify-storefront.com
.
Öffnen Sie Ihren Webbrowser und rufen Sie staging.example.com
auf.
Herzlichen Glückwunsch! Sie haben Ihren Start abgeschlossen! 🥳
Nachdem Sie diese Anweisungen für eine Staging-Website ausgeführt haben, können Sie den gleichen Prozess mit der Production-Domain und der Production-Umgebung wiederholen.
Ab diesem Zeitpunkt unterstützt Sie die Customer Success Group beim Monitoring des Website-Traffics, um sicherzustellen, dass der Start erfolgreich war. Ziel ist es, sicherzustellen, dass alles während des Starts wie erwartet über die Bühne geht!
Nach dem Start können Kunden mit einem Signature Success Plan von einem proaktiven Website-Monitoring profitieren. Um die Vorteile dieses erweiterten Monitoring-Dienstes zu nutzen, müssen Sie Ihre Umgebung als production
-Umgebung kennzeichnen. Näheres hierzu finden Sie im Abschnitt zu Umgebungen in der Übersicht über Managed Runtime.
- Die Zieleinstellung
ssr_external_hostname
steuert, über welchen Host die Umgebung Traffic erhält. Wenn der HTTP-Host
-Header einer Anfrage nicht mit diesem Wert übereinstimmt, schlägt die Anfrage mit einem 403-Fehler fehl. - Derzeit unterstützt Salesforce keine Storefront-URLs mit einer Stammdomain wie
example.com
(ohnewww
-Subdomain). Um eine Stamm-Domain zu verwenden, müssen Sie einen Server so einrichten, dass er Anfragen von der Stamm-Domain an Ihren CNAME umleitet.