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
Solved! Go to Solution.
Views
Replies
Total Likes
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\/.*'}`
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
@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!
Views
Replies
Total Likes
Hey @kautuk_sahni , Added the correct solution now.
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\/.*'}`