使用cdn.yml将CDN管道规则的范围限定为特定域
如果意外的CDN规则未明确规定作用域,则可能影响同一环境中的其他域。 本文说明如何通过在cdn.yml中添加主机条件,将Adobe Experience Manager (AEM) Cloud Service中的CDN管道规则限制为特定域。
描述 description
环境
Adobe Experience Manager (AEM) Cloud Service
问题/症状
您要通过cdn.yml文件使用Cloud Manager的CDN管道在较低环境(DEV)中阻止旧版Dynamic Media投放端点。 以下YAML配置阻止与路径/adobe/dynamicmedia/deliver/匹配的请求并返回410 Gone响应:
rules:
- name: block-legacy-delivery-endpoint
when:
allOf:
- reqProperty: path
matches: /adobe/dynamicmedia/deliver(/.*)?$
actions:
- type: respond
status: 410 reason: "Legacy Dynamic Media endpoint is deprecated"
您需要确认此规则是否适用于环境中配置的所有域,以及如何对其进行限制以使其仅影响预期的VCR域。
- 对旧版Dynamic Media端点的请求会按预期阻止。
- 对OpenAPI Dynamic Media URL的请求允许通过。
- 您需要确保该规则仅适用于特定域,而不适用于环境中的所有域。
原因
默认情况下,cdn.yml中的CDN规则适用于所有域,除非它们明确规定作用域。 添加主机条件可确保规则仅影响目标域。
解决方法 resolution
要解决此问题:
-
在
cdn.yml中查看当前CDN规则配置。- 规则根据路径
/adobe/dynamicmedia/deliver/匹配请求。 - 默认情况下,此规则适用于在环境中配置的所有域,除非对其进一步限定范围。
- 规则根据路径
-
将规则范围限定到特定域。
- 将域条件添加到规则的
when部分。 - 使用以下示例语法:
code language-none - name: block-legacy-delivery-endpoint when: allOf: - reqProperty: host matches: your-vcr-domain\.example\.com$ - reqProperty: path matches: /adobe/dynamicmedia/deliver(/.*)?$ actions: - type: respond status: 410 reason: "Legacy Dynamic Media endpoint is deprecated"- 将
your-vcr-domain.example.com替换为域设置下配置的实际域名。
- 将域条件添加到规则的
-
通过Cloud Manager部署更新的
cdn.yml配置。- 提交更改并将其推送到存储库。
- 通过Cloud Manager管道部署以应用规则。
-
在目标环境中验证规则。
- 测试对作用域上的旧版端点的请求,确认这些请求被阻止。
- 测试对其他域上同一端点的请求,以确保它们不受影响。
- 确认OpenAPI Dynamic Media URL不受影响。
recommendation-more-help
experience-cloud-kcs-help-kbarticles