Het vormen van Verkeer bij CDN cdn-configuring-cloud
AEM as a Cloud Service biedt een inzameling van eigenschappen die bij CDN met beheerde Adobe laag die de aard van of inkomende verzoeken of uitgaande reacties wijzigt. De volgende regels, die in detail in deze pagina worden beschreven, kunnen worden verklaard om het volgende gedrag te bereiken:
- Transformaties aanvragen - aspecten van binnenkomende aanvragen, zoals kopteksten, paden en parameters, wijzigen.
- Responstransformaties - wijzigt kopteksten die op weg terug naar de cliënt (bijvoorbeeld, Webbrowser) zijn.
- Client-side omleidingen - een omleiding door de browser activeren. Deze functie is nog niet GA, maar is beschikbaar voor vroege gebruikers.
- Oorspronkelijke kiezers - een vervangende waarde naar een andere achterkant van de oorsprong.
Ook configureerbaar bij CDN zijn de Regels van de Filter van het Verkeer (met inbegrip van WAF), die controleert welk verkeer door CDN wordt toegestaan of wordt ontkend. Deze functie is al uitgebracht en u kunt er meer over leren in het dialoogvenster Verkeersfilterregels inclusief WAF-regels pagina.
Bovendien, als CDN niet zijn oorsprong kan contacteren, kunt u een regel schrijven die verwijzingen een zelf-ontvangen pagina van de douanefout (die dan wordt teruggegeven). Lees hier meer over door het CDN-foutpagina's configureren artikel.
Al deze regels, die in een configuratiedossier in broncontrole worden verklaard, worden opgesteld door te gebruiken Configuratie-pijplijn van Cloud Manager. Houd er rekening mee dat de cumulatieve grootte van het configuratiebestand, inclusief de regels voor verkeersfilters, niet groter kan zijn dan 100 kB.
Evaluatievolgorde order-of-evaluation
Functioneel worden de verschillende eerder vermelde functies in de volgende volgorde geëvalueerd:
Instellen initial-setup
Alvorens u verkeer bij CDN kunt vormen moet u het volgende doen:
- Maak deze map en bestandsstructuur in de map op hoofdniveau van uw Git-project:
config/
cdn.yaml
-
De
cdn.yaml
Het configuratiebestand moet zowel metagegevens als de regels bevatten die in de onderstaande voorbeelden worden beschreven. Dekind
parameter moet worden ingesteld opCDN
en de versie moet worden ingesteld op de schemaversie die momenteel is1
. -
Maak een gerichte configuratiepijplijn voor implementatie in Cloud Manager. Zie productiepijpleidingen configureren en configureren van niet-productiepijpleidingen.
Notities
- RDEs steunt momenteel niet de configuratiepijplijn.
- U kunt
yq
om de opmaak van uw configuratiebestand lokaal te valideren (bijvoorbeeldyq cdn.yaml
).
Syntaxis configuration-syntax
De regeltypen in de onderstaande secties hebben dezelfde syntaxis.
Een regel wordt van verwijzingen voorzien door een naam, een voorwaardelijk "wanneer clausule", en acties.
De clausule Wanneer bepaalt of een regel zal worden geëvalueerd, gebaseerd op eigenschappen zoals domein, weg, vraagkoorden, kopballen, en koekjes. De syntaxis is het zelfde over regeltypes; voor details, zie Sectie Condition Structure in het artikel Regels voor verkeersfilters.
De details van het actieknooppunt verschillen per regeltype en worden in de afzonderlijke secties hieronder beschreven.
Transformaties aanvragen request-transformations
De de transformatieregels van het verzoek staan u toe om inkomende verzoeken te wijzigen. De regels ondersteunen het instellen, ongedaan maken en wijzigen van paden, queryparameters en headers (inclusief cookies) op basis van verschillende overeenkomende voorwaarden, waaronder reguliere expressies. U kunt ook variabelen instellen, waarnaar later in de evaluatiereeks kan worden verwezen.
Gebruiksscenario's zijn verschillend en bevatten URL-herschrijvingen voor het vereenvoudigen van toepassingen of het toewijzen van verouderde URL's.
Zoals eerder vermeld, is er een groottebeperking voor het configuratiebestand, zodat organisaties met grotere vereisten regels moeten definiëren in het dialoogvenster apache/dispatcher
laag.
Voorbeeld van configuratie:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev", "stage", "prod"]
data:
requestTransformations:
removeMarketingParams: true
rules:
- name: set-header-rule
when:
reqProperty: path
like: /set-header
actions:
- type: set
reqHeader: x-some-header
value: some value
- name: unset-header-rule
when:
reqProperty: path
like: /unset-header
actions:
- type: unset
reqHeader: x-some-header
- name: unset-matching-query-params-rule
when:
reqProperty: path
equals: /unset-matching-query-params
actions:
- type: unset
queryParamMatch: ^removeMe_.*$
- name: unset-all-query-params-except-exact-two-rule
when:
reqProperty: path
equals: /unset-all-query-params-except-exact-two
actions:
- type: unset
queryParamMatch: ^(?!leaveMe$|leaveMeToo$).*$
- name: multi-action
when:
reqProperty: path
like: /multi-action
actions:
- type: set
reqHeader: x-header1
value: body set by transformation rule
- type: set
reqHeader: x-header2
value: '201'
- name: replace-html
when:
reqProperty: path
like: /mypath
actions:
- type: transform
reqProperty: path
op: replace
match: \.html$
replacement: ""
Handelingen
In de onderstaande tabel worden de beschikbare acties beschreven.
Handelingen kunnen aan elkaar worden gekoppeld. Bijvoorbeeld:
actions:
- type: transform
reqProperty: path
op: replace
match: \.html$
replacement: ""
- type: transform
reqProperty: path
op: tolower
Variabelen variables
U kunt variabelen tijdens de verzoektransformatie plaatsen en dan van verwijzingen voorzien hen later in de evaluatiereeks. Zie de volgorde van beoordeling schema voor nadere bijzonderheden.
Voorbeeld van configuratie:
kind: "CDN"
version: "1"
metadata:
envTypes: ["prod", "dev"]
data:
requestTransformations:
rules:
- name: set-variable-rule
when:
reqProperty: path
equals: /set-variable
actions:
- type: set
var: some_var_name
value: some_value
responseTransformations:
rules:
- name: set-response-header-while-variable
when:
var: some_var_name
equals: some_value
actions:
- type: set
respHeader: x-some-header
value: some header value
Responstransformaties response-transformations
De de transformatieregels van de Reactie staan u toe om kopballen van de uitgaande reacties van CDN te plaatsen en unset. Zie ook het bovenstaande voorbeeld voor het verwijzen naar een variabele die eerder is ingesteld in een aanvraagtransformatieregel.
Voorbeeld van configuratie:
kind: "CDN"
version: "1"
metadata:
envTypes: ["prod", "dev"]
data:
responseTransformations:
rules:
- name: set-response-header-rule
when:
reqProperty: path
like: /set-response-header
actions:
- type: set
value: value-set-by-resp-rule
respHeader: x-resp-header
- name: unset-response-header-rule
when:
reqProperty: path
like: /unset-response-header
actions:
- type: unset
respHeader: x-header1
# Example: Multi-action on response header
- name: multi-action-response-header-rule
when:
reqProperty: path
like: /multi-action-response-header
actions:
- type: set
respHeader: x-resp-header-1
value: value-set-by-resp-rule-1
- type: set
respHeader: x-resp-header-2
value: value-set-by-resp-rule-2
Handelingen
In de onderstaande tabel worden de beschikbare acties beschreven.
Oorspronkelijke kiezers origin-selectors
U kunt hefboomwerking AEM CDN aan routeverkeer aan verschillende achtergronden, met inbegrip van toepassingen niet-Adobe (misschien op een per-weg of subdomain basis).
Voorbeeld van configuratie:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
originSelectors:
rules:
- name: example-com
when: { reqProperty: path, like: /proxy-me* }
action:
type: selectOrigin
originName: example-com
# useCache: false
origins:
- name: example-com
domain: www.example.com
# ip: '1.1.1.1'
# forwardHost: true
# forwardCookie: true
# forwardAuthorization: true
# timeout: 20
Handelingen
Uitleg in de onderstaande tabel is de beschikbare handeling.
Oorsprong
Verbindingen met oorsprong zijn alleen SSL en gebruiken poort 443.
Omleiding op de client client-side-redirectors
aemcs-cdn-config-adopter@adobe.com
en beschrijf uw gebruiksgeval.U kunt de omleidingsregels aan de clientzijde gebruiken voor 301, 302 en vergelijkbare omleidingen aan de clientzijde. Als een regel overeenkomt, reageert de CDN met een statusregel die de statuscode en het bericht bevat (bijvoorbeeld HTTP/1.1 301 Permanent verplaatst) en met de locatiekoptekenset.
Zowel absolute als relatieve locaties met vaste waarden zijn toegestaan.
Houd er rekening mee dat de cumulatieve grootte van het configuratiebestand, inclusief de regels voor verkeersfilters, niet groter kan zijn dan 100 kB.
Voorbeeld van configuratie:
kind: "CDN"
version: "1"
metadata:
envTypes: ["dev"]
data:
experimental_redirects:
rules:
- name: redirect-absolute
when: { reqProperty: path, equals: "/page.html" }
action:
type: redirect
status: 301
location: https://example.com/page
- name: redirect-relative
when: { reqProperty: path, equals: "/anotherpage.html" }
action:
type: redirect
location: /anotherpage