关于 b2c-ecdn
面向 Salesforce B2C Commerce 运维人员的 b2c CLI 使用技能,用于管理 eCDN 区域、证书、缓存及安全设置,并包含流量规则配置示例。
主要功能
- 01列出和创建 CDN 区域
- 02管理证书及验证主机名
- 03按路径或标签清理缓存
- 04配置限速与安全设置
- 05调整速度优化选项
适用场景
- 01创建店铺 CDN 区域
- 02为特定路径清理缓存
- 03配置结账路径限速规则
- 04更新 HTTPS 与 TLS 设置
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ salesforcecommercecloud/ b2c-developer-tooling --skill b2c-ecdn安装后在 Claude Code 中输入/b2c-ecdn确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/trigger-evals.jsonreferences/ADVANCED.mdSECURITY.md详细介绍
B2C eCDN 技能
使用 b2c CLI 插件管理 eCDN(嵌入式内容分发网络)区域、证书、安全设置等。
在更改规则之前调查边缘流量(机器人、滥用行为、边缘 403/429 激增、SCAPI/SLAS 滥用;哪些来源值得关注、由谁运行、有哪些规则覆盖),请使用 b2c-ops:b2c-edge-traffic-triage 操作手册(MCP:skill://b2c-ops/b2c-edge-traffic-triage/SKILL.md)。
**提示:**如果未全局安装
b2c,请改用npx @salesforce/b2c-cli(例如,npx @salesforce/b2c-cli ecdn zones list)。
配置
tenantId、clientId 和 clientSecret 等值会从 dw.json / SFCC_* 环境变量 / 活动实例 / 配置插件中解析。以下示例展示了最简用法;仅在要覆盖已配置的值时才添加标志——通常无需传入 --client-id/--client-secret/--tenant-id。如果缺少必需值,CLI 会给出可操作的错误提示,指出对应的标志、环境变量和配置键。
运行 b2c setup inspect 可查看解析后的配置及每个值的来源(脚本处理可使用 --json;默认情况下会对密钥进行遮蔽)。有关优先级规则和故障排查,请参阅 b2c-cli:b2c-config 技能。
先决条件
- 具有
sfcc.cdn-zones范围的 OAuth 凭据(读取操作) - 具有
sfcc.cdn-zones.rw范围的 OAuth 凭据(写入操作) - B2C Commerce 组织的租户 ID(来自配置或
--tenant-id)
示例
列出 CDN 区域
# list all CDN zones for the configured tenant (pages through every zone)
b2c ecdn zones list
# JSON output
b2c ecdn zones list --json
# target a different tenant than the active config
b2c ecdn zones list --tenant-id zzxy_prd
创建店面区域
# create a new storefront zone
b2c ecdn zones create --domain-name example.com
清除缓存
# purge cache for specific paths
b2c ecdn cache purge --zone my-zone --path /products --path /categories
# purge by cache tags
b2c ecdn cache purge --zone my-zone --tag product-123 --tag category-456
管理证书
# list certificates for a zone
b2c ecdn certificates list --zone my-zone
# add a new certificate
b2c ecdn certificates add --zone my-zone --hostname www.example.com --type custom --certificate-file ./cert.pem --private-key-file ./key.pem
# validate a custom hostname
b2c ecdn certificates validate --zone my-zone --custom-hostname-id abc123
管理速率限制规则
# list rate limiting rules
b2c ecdn rate-limit list --zone my-zone
# create a rate limiting rule
b2c ecdn rate-limit create --zone my-zone --description "Rate limit /checkout" --expression '(http.request.uri.path matches "^/checkout")' --characteristics cf.unique_visitor_id --action block --period 60 --requests-per-period 50 --mitigation-timeout 600
# get a rule
b2c ecdn rate-limit get --zone my-zone --rule-id 2c0fc9fa937b11eaa1b71c4d701ab86e
# update a rule
b2c ecdn rate-limit update --zone my-zone --rule-id 2c0fc9fa937b11eaa1b71c4d701ab86e --requests-per-period 100
# delete a rule
b2c ecdn rate-limit delete --zone my-zone --rule-id 2c0fc9fa937b11eaa1b71c4d701ab86e --force
安全设置
# get security settings
b2c ecdn security get --zone my-zone
# update security settings
b2c ecdn security update --zone my-zone --security-level medium --always-use-https --tls13
速度设置
# get speed optimization settings
b2c ecdn speed get --zone my-zone
# update speed settings
b2c ecdn speed update --zone my-zone --brotli on --http3 on --webp on
其他主题
对于较少使用的 eCDN 功能,请参阅参考文件:
- SECURITY.md — WAF(v1 和 v2)、自定义防火墙规则、速率限制和 Page Shield(CSP 策略、脚本检测、通知 Webhook)
- ADVANCED.md — Logpush 作业、MRT 路由规则、mTLS 证书、密码套件配置和源站标头修改
配置覆盖项
租户 ID 可通过标志或环境变量覆盖:
--tenant-id/SFCC_TENANT_ID/ dw.json 中的tenantId
--zone 标志接受以下任一值:
- 区域 ID(32 个字符的十六进制字符串)
- 区域名称(便于阅读的名称,不区分大小写;会在组织的所有区域中查找,包括前 25 个以外的区域)
注意事项
Forbidden= 该区域不支持此功能,或--zoneID 不属于此组织。waf groups/waf rules(WAF v1)通常会失败并返回Not Found(使用 WAF v2 的区域);请改用waf rulesets。firewall create --actions log(或--enabled false)会暂存规则但不执行拦截;审核后请改用managed_challenge/block。
SCAPI(API)区域
zones list 会列出 <realm>.api.commercecloud.salesforce.com(BM 中标记为 <shortCode>.api...)。该区域承载 SCAPI/SLAS 流量,包括无头店面。
- 支持:
firewall、rate-limit。 Forbidden(由平台管理,并非范围问题):security、speed、waf rulesets、certificates、cipher-suites、mrt-rules、page-shield、logpush、origin-headers。- 同一 realm 中的每个实例(dev/stg/prd)共用此区域。若要将规则限定到单个实例,请在路径中使用组织 ID,例如
(http.request.uri.path contains "/organizations/f_ecom_zzxy_prd/") and ...。未限定范围的规则会应用到所有实例。
OAuth 范围
| 操作 | 所需范围 |
|---|---|
| 读取操作 | sfcc.cdn-zones |
| 写入操作 | sfcc.cdn-zones.rw |
更多命令
运行 b2c ecdn --help,查看 ecdn 主题下所有可用命令和选项的完整列表。