分阶段无头部署的 CDN API
分阶段无头部署是一种使用 Storefront Reference Architecture (SFRA) 和 Composable Storefront 等多种网店技术提供单一购物体验的技术。
嵌入式 CDN (eCDN) 区域可以同时将流量路由到 SFRA 和 Managed Runtime,从而允许您逐步部署 Composable Storefront。
本指南介绍如何使用 Commerce API CDN 区域将流量路由到 Managed Runtime。
只有现有客户才能访问此页面上的某些链接。请访问 Salesforce Commerce Cloud GitHub 存储库和访问权限,了解有关如何访问 Commerce Cloud 存储库的信息。
- 您要熟悉 Admin API 授权
- 您必须拥有具有范围
sfcc.cdn-zones.rw
的 Account Manager API 客户端。 - 您必须知道要与 Managed Runtime 一起使用的 eCDN 区域的区域 ID。要获取此信息,请使用 CDN 区域 API 的 getZonesInfo 端点。
- 使用 updateSecuritySettings以在区域中启用
alwaysUseHttps
。_ Managed Runtime 仅支持通过 HTTPS 的流量。_ - 设置您的 SLAS API 客户端的
redirect_uri
以包含该区域。 - 如果您 限制了允许访问 Managed Runtime 环境的 IP 集 ,请将 eCDN 使用的 CloudFlare IPs 添加到允许的 IP 集。
使用 createMrtRules 端点,您可以创建将流量路由到 Managed Runtime 环境的规则:
我们来检查一下请求正文中提供的数据。
mrtHostname
的值是用于流量路由的 Managed Runtime 环境的域。它必须引用 mobify-storefront.com
域上托管的 Managed Runtime 环境。如果现有规则使用提供的值,则请求将失败。
Managed Runtime 是唯一受支持的路由目标。
expressions
的值是 Cloudflare 规则表达式的数组,用于控制将哪些请求路由到 Managed Runtime。对于大多数实施,单个路由表达式便已足够。
除了提供的表达式之外,还使用以下默认路由规则:
路由更改会立即应用,导航到与表达式匹配的 URL 会返回从 Managed Runtime 检索的内容。
表达式根据以下标准进行验证:
http.host
必须准确出现一次并且必须跟在eq
运算符后面。值必须匹配区域。- 支持以下字段:
http.host
http.request.uri.path
http.request.uri
http.cookie
- 表达式的最大长度为 3072 个字符。
- 一个区域最多可以关联 100 个表达式。
当您继续分阶段部署时,您可以将更多请求路由到 Managed Runtime。
要修改路由表达式,请使用 getMrtRule 获取与要更新的表达式关联的规则集和规则的 ID:
接下来使用 updateMrtRule 更新表达式:
要禁用路由,请使用 getMrtRule 获取规则集 ID:
然后,使用deleteMrtRuleset
删除该规则集的 Managed Runtime 路由:
完成分阶段部署或启动新站点时,您可以选择使用单个表达式将区域的所有流量路由到 Managed Runtime:
在 eCDN 不可用的环境中,使用 composable-hybrid-dev-server
来模拟 eCDN 路由。
尽管 createMrtRules 允许创建将流量从单个主机名路由到多个 Managed Runtime 环境的规则,但当前不支持此用例。