Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

CDN YAML Origin Filter Issue Causing Pipeline Failure in AEM Cloud

Avatar

Level 2

I’m currently working on creating the cdn.yaml file in AEM Cloud. The requirement is to include both traffic filters and origin filters. While the traffic filters are fine, I’m running into some issues with the origin filters.

The requirements are as follows:

All other pages should be served from a different CMS domain. Additionally, any requests with the domain checkout.test.com should be served through Azure.

I’ve created the CDN YAML file based on these requirements.

However, the Dev Full Stack pipeline is failing at the Product Functional Testing step, and the error (attached) occurs every time.

Could someone help identify what needs to be fixed in the CDN YAML file?

CDN yaml file :


kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
trafficFilters:
rules:
- name: limit-origin-requests-client-ip
when:
reqProperty: tier
equals: 'publish'
rateLimit:
limit: 100
window: 10
count: fetches
penalty: 300
groupBy:
- reqProperty: clientIp
action: log
- name: limit-requests-client-ip
when:
reqProperty: tier
equals: 'publish'
rateLimit:
limit: 500
window: 10
count: all
penalty: 300
groupBy:
- reqProperty: clientIp
action: log
- name: block-ofac-countries
when:
allOf:
- { reqProperty: tier, in: ["author", "publish"] }
- reqProperty: clientCountry
in:
- SY
- BY
- MM
- KP
- IQ
- CD
- SD
- IR
- LR
- ZW
- CU
- CI
action: log
originSelectors:
rules:
- name: azure
when:
reqProperty: domain
equals: checkout.test.com
action:
type: selectOrigin
originName: azure
- name: another-cdn
when:
allOf:
- {reqProperty: tier, equals: 'publish'}
- {reqProperty: path, doesNotMatch: '^\/pages\/.*'}
- {reqProperty: path, doesNotMatch: '^\/gyms\/.*\/services\/personal-training'}
- {reqProperty: path, doesNotMatch: '^\/services\/personal-training.*'}
action:
type: selectOrigin
originName: another-cdn
origins:
- name: azure
domain: test.azurestaticapps.net
- name: another-cdn
domain: www01.dev.test.dev 



1 Accepted Solution

Avatar

Correct answer by
Level 2

The pipeline issue was resolved after certain rules were added. The primary problem stemmed from having a negative predicate rule, which required the inclusion of AEM-specific paths to ensure they were served correctly from AEM. With these adjustments, the product functional testing step has been successfully completed. The rules added are as follows:

- `{reqProperty: path, doesNotMatch: '.*\/j_security_check.*'}`
- `{reqProperty: path, doesNotMatch: '^\/content\/.*'}`
- `{reqProperty: path, doesNotMatch: '^\/bin\/wcmcommand\/.*'}`
- `{reqProperty: path, doesNotMatch: '^\/systemready\/.*'}`
- `{reqProperty: path, doesNotMatch: '^\/etc.clientlibs\/.*'}`

View solution in original post

4 Replies

Avatar

Community Advisor

Hi,

Seems connection is failing may be some IP allow required, you may cross check if all steps followed mentioned here https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/con...

Thanks

Avatar

Administrator

@SaumyaJa Did you find the suggestions from users helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you've discovered a solution yourself, we would appreciate it if you could share it with the community. Thank you!



Kautuk Sahni

Avatar

Correct answer by
Level 2

The pipeline issue was resolved after certain rules were added. The primary problem stemmed from having a negative predicate rule, which required the inclusion of AEM-specific paths to ensure they were served correctly from AEM. With these adjustments, the product functional testing step has been successfully completed. The rules added are as follows:

- `{reqProperty: path, doesNotMatch: '.*\/j_security_check.*'}`
- `{reqProperty: path, doesNotMatch: '^\/content\/.*'}`
- `{reqProperty: path, doesNotMatch: '^\/bin\/wcmcommand\/.*'}`
- `{reqProperty: path, doesNotMatch: '^\/systemready\/.*'}`
- `{reqProperty: path, doesNotMatch: '^\/etc.clientlibs\/.*'}`