Het vormen van Verkeer bij CDN cdn-configuring-cloud

AEM as a Cloud Service biedt een inzameling van eigenschappen aan configureerbaar bij de ​ Adobe-Beheerde CDN ​ laag die de aard van of inkomende verzoeken of uitgaande reacties wijzigen. De volgende regels, die in detail in deze pagina worden beschreven, kunnen worden verklaard om het volgende gedrag te bereiken:

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 eigenschap wordt reeds vrijgegeven en u kunt meer over het in de ​ Regels van de Filter van het Verkeer leren met inbegrip van 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). Leer meer over dit door ​ te lezen Vormend CDN foutenpagina’s ​ artikel.

Al deze regels, die in een configuratiedossier in broncontrole worden verklaard, worden opgesteld door de Cloud Manager ​ te gebruiken config pijpleiding ​. Houd er rekening mee dat de cumulatieve grootte van het configuratiebestand, inclusief de regels voor verkeersfilters, niet groter kan zijn dan 100 kB.

Voor extra codefragmenten voor gemeenschappelijke scenario’s, zie de ​ Fragmenten van de Configuratie CDN voor Gemeenschappelijke Scenarios ​ artikel.

Evaluatievolgorde order-of-evaluation

Functioneel worden de verschillende eerder vermelde functies in de volgende volgorde geëvalueerd:

​ Orde van evaluatie ​

Instellen initial-setup

Alvorens u verkeer bij CDN kunt vormen moet u het volgende doen:

  1. Maak een bestand met de naam cdn.yaml of een vergelijkbaar bestand, waarbij u verwijst naar de verschillende configuratiefragmenten in de onderstaande secties.

    Alle fragmenten hebben deze gemeenschappelijke eigenschappen, die onder ​ worden beschreven Config Pijpleiding ​. De kind bezitswaarde zou CDN moeten zijn en het version bezit zou aan 1 moeten worden geplaatst.

    code language-none
    kind: "CDN"
    version: "1"
    
  2. Plaats het dossier ergens onder een top niveauomslag genoemd config of gelijkaardig, zoals die onder ​ wordt beschreven Pijpleiding Config ​.

  3. Creeer een Pijpleiding Config in Cloud Manager, zoals die onder ​ wordt beschreven Config Pijpleiding ​.

  4. Implementeer de configuratie.

Syntaxis regels configuration-syntax

De regeltypen in de onderstaande secties hebben dezelfde syntaxis.

De gebruikelijke syntaxis van regels is een lijstitem met een naam, een voorwaarde when en een handeling of handelingen:

- name: <name>
  when: <condition>
  action: <action>

Elke top-level sectie (requestTransformations, responseTransformations, redirects, originSelectors, en trafficFilters in ​ de filterregels van het Verkeer ​) steunt zijn eigen reeks actietypen en eigenschappen; de toegestane type waarden en velden worden gedefinieerd in de tabellen en voorbeelden van die sectie, en niet in alle soorten regels. Secties zoals requestTransformations en responseTransformations ondersteunen meerdere handelingen die zijn opgegeven als een lijst in de lijst onder de eigenschap actions .

De clausule "wanneer"bepaalt of een regel, gebaseerd op eigenschappen met inbegrip van domein, weg, vraagkoorden, kopballen, en koekjes zal worden geëvalueerd. De syntaxis is het zelfde over regeltypes; zie ​ Structuur van de Voorwaarde ​ hieronder. De filterregels van het verkeer (met inbegrip van WAF) gebruiken de zelfde voorwaardensyntaxis; zie ​ Regels van de Filter van het Verkeer met inbegrip van de regels van WAF ​ voor acties, tariefgrenzen, en WAF-specifiek gedrag.

Voorwaardestructuur condition-structure

Een voorwaarde kan een eenvoudige Voorwaarde of een groep Voorwaarden zijn.

Eenvoudige Voorwaarde

Een eenvoudige voorwaarde bestaat uit een getter en een voorspelling.

{ <getter>: <value>, <predicate>: <value> }

Voorwaarden van de Groep

Een groep Voorwaarden bestaat uit meerdere Eenvoudige en/of Groepsvoorwaarden.

<allOf|anyOf>:
  - { <getter>: <value>, <predicate>: <value> }
  - { <getter>: <value>, <predicate>: <value> }
  - <allOf|anyOf>:
    - { <getter>: <value>, <predicate>: <value> }
Bezit
Type
Betekenis
allOf
array[Condition]
en verrichting. true als alle vermelde voorwaarden true retourneren
anyOf
array[Condition]
of verrichting. true als een van de vermelde voorwaarden true retourneert

Getter

Bezit
Type
Beschrijving
reqProperty
string

Request-eigenschap.

Één van:

  • path : Retourneert het volledige pad van een URL zonder de queryparameters. (gebruik pathRaw voor de niet-beschermde variant)
  • originalPath : Keert de onveranderlijke originele weg van het verzoek zonder de vraagparameters terug — de weg vóór om het even welke CDN verzoektransformaties.
  • url : Retourneert de volledige URL inclusief de queryparameters. (gebruik urlRaw voor de niet-beschermde variant)
  • originalUrl : Retourneert de onveranderlijke oorspronkelijke volledige URL van de aanvraag inclusief de queryparameters — de URL vóór eventuele CDN-aanvraagtransformaties.
  • queryString : Hiermee wordt het querygedeelte van een URL geretourneerd
  • method : Retourneert de HTTP-methode die in de aanvraag wordt gebruikt.
  • tier : Retourneert een van author , preview of publish .
  • domain : Hiermee wordt de domeineigenschap (zoals gedefinieerd in de Host -header) in kleine letters geretourneerd
  • clientIp : Retourneert de client-IP.
  • forwardedDomain : Retourneert het eerste domein dat in kleine letters is gedefinieerd in de X-Forwarded-Host -header
  • forwardedIp : Retourneert het eerste IP in de header X-Forwarded-For .
  • clientRegion : Keert de code van de landonderverdeling terug die identificeert waarin het gebied de cliënt zoals die in ​ wordt beschreven ISO 3166-2 ​ wordt gevestigd.
  • clientCountry : Keert een twee brievencode (​ Regionaal indicatorsymbool ​) terug die zich identificeert in welk land de cliënt wordt gevestigd.
  • clientContinent : Retourneert een tweelettercode (AF, AN, AS, EU, NA, OC, SA) die aangeeft op welk continent de client zich bevindt.
  • clientAsNumber : Keert het ​ Autonoom aantal van het Systeem ​ verbonden aan de cliëntIP terug.
  • clientAsName : Keert de naam verbonden aan het Autonome aantal van het Systeem terug.
reqHeader
string
Hiermee wordt aanvraagheader met de opgegeven naam geretourneerd
queryParam
string
Hiermee wordt de query-parameter met de opgegeven naam geretourneerd
reqCookie
string
Retourneert cookie met opgegeven naam
postParam
string
Keert de Parameter van het Post met gespecificeerde naam van het lichaam van het Verzoek terug. Werkt alleen als de hoofdtekst van het inhoudstype is application/x-www-form-urlencoded

Predicate

Bezit
Type
Betekenis
evenaart
string
true als het resultaat van de getter gelijk is aan de opgegeven waarde
doesNotEqual
string
true als het resultaat van de getter niet gelijk is aan de opgegeven waarde
als
string
true als het resultaat van de getter overeenkomt met het opgegeven patroon
notLike
string
true als het resultaat van de getter niet overeenkomt met het opgegeven patroon
gelijken
string
true als het resultaat van de getter overeenkomt met opgegeven regex
doesNotMatch
string
true als het resultaat van de getter niet overeenkomt met opgegeven regex
in
array[string]
true als de opgegeven lijst het resultaat getter bevat
notIn
array[string]
true als de opgegeven lijst geen resultaat voor getter bevat
bestaat
boolean
true wanneer ingesteld op true en eigenschap bestaat of wanneer ingesteld op false en eigenschap niet bestaat

Nota’s

  • De request-eigenschap clientIp kan alleen worden gebruikt met de volgende voorspelling: equals , doesNotEqual , in , notIn . clientIp kan ook worden vergeleken met IP-bereiken wanneer in en notIn voorspellingen worden gebruikt. In het volgende voorbeeld wordt een voorwaarde geïmplementeerd om te bepalen of een client-IP zich binnen het IP-bereik van 192.168.0.0/24 bevindt (dus van 192.168.0.0 tot 192.168.0.255 ):
when:
  reqProperty: clientIp
  in: [ "192.168.0.0/24" ]

De details van het actieknooppunt verschillen per regeltype en worden in de afzonderlijke secties hieronder beschreven.

In de configuratieregels, kunt u geheimen van verwijzingen voorzien die als milieuvariabelen worden bepaald (zie {de Secreten van 0} Configuratie 🔗).

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 groottegrens aan het configuratiedossier zodat zouden de organisaties met grotere vereisten regels in de apache/dispatcher laag moeten bepalen.

Voorbeeld van configuratie:

kind: "CDN"
version: "1"
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: set-header-with-reqproperty-rule
        when:
          reqProperty: path
          like: /set-header
        actions:
          - type: set
            reqHeader: x-some-header
            value: {reqProperty: path}
      - 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: ""
      - name: log-on-request
        when: "*"
        actions:
          - type: set
            logProperty: forwarded_host
            value:
              reqHeader: x-forwarded-host

Acties

In de onderstaande tabel worden de beschikbare acties beschreven.

Naam
Properties
Betekenis
plaats
reqProperty, value
Hiermee wordt een opgegeven parameter request ingesteld (alleen eigenschap “path” wordt ondersteund)
reqHeader, waarde
Stelt een opgegeven aanvraagheader in op een bepaalde waarde.
queryParam, waarde
Stelt een opgegeven queryparameter in op een bepaalde waarde.
reqCookie, waarde
Stelt een opgegeven aanvraagcookie in op een bepaalde waarde.
logProperty, value
Stelt een opgegeven CDN-logeigenschap in op een bepaalde waarde.
var, value
Stelt een opgegeven variabele in op een bepaalde waarde.
unset
reqProperty
Hiermee wordt een opgegeven parameter request verwijderd (alleen eigenschap “path” wordt ondersteund)
reqHeader, waarde
Hiermee wordt een opgegeven aanvraagheader verwijderd.
queryParam, waarde
Hiermee wordt een opgegeven queryparameter verwijderd.
reqCookie, waarde
Hiermee wordt een opgegeven cookie verwijderd.
logProperty, value
Hiermee wordt een opgegeven CDN-logeigenschap verwijderd.
var
Hiermee wordt een opgegeven variabele verwijderd.
queryParamMatch
Verwijdert alle queryparameters die overeenkomen met een opgegeven reguliere expressie.
queryParamDoesNotMatch
Verwijdert alle queryparameters die niet overeenkomen met een opgegeven reguliere expressie.
transformatie
op :replace, (reqProperty of reqHeader of queryParam of reqCookie of var), gelijke, vervanging
Vervangt een deel van de aanvraagparameter (alleen eigenschap “path” ondersteund), of verzoek header, of query parameter, cookie of variabele door een nieuwe waarde.
op :tolower, (reqProperty of reqHeader of queryParam of reqCookie of var)
Stelt de parameter request (alleen eigenschap “path” ondersteund), of aanvraagheader, queryparameter, cookie of variabele in op de waarde in kleine letters.

Vervang acties om vastgelegde groepen te ondersteunen, zoals hieronder wordt geïllustreerd:

      - name: extract-country-code-from-path
        when:
          reqProperty: path
          matches: ^/([a-zA-Z]{2})(/.*|$)
        actions:
          - type: set
            var: country-code
            value:
              reqProperty: path
          - type: transform
            var: country-code
            op: replace
            match: ^/([a-zA-Z]{2})(/.*|$)
            replacement: \1
      - name: replace-jpg-with-jpeg
        when:
          reqProperty: path
          like: /mypath
        actions:
          - type: transform
            reqProperty: path
            op: replace
            match: (.*)(\.jpg)$
            replacement: "\1\.jpeg"

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 ​ orde van evaluatie ​ diagram voor verdere details.

Voorbeeld van configuratie:

kind: "CDN"
version: "1"
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

Log, eigenschap logproperty

U kunt uw eigen logboekeigenschappen in uw CDN- logboeken toevoegen gebruikend verzoek en reactietransformaties.

Voorbeeld van configuratie:

requestTransformations:
  rules:
    - name: log-on-request
      when: "*"
      actions:
        - type: set
          logProperty: forwarded_host
          value:
            reqHeader: x-forwarded-host
responseTransformations:
  rules:
    - name: log-on-response
      when: '*'
      actions:
        - type: set
          logProperty: cache_control
          value:
            respHeader: cache-control

Logboekvoorbeeld:

{
"timestamp": "2025-03-26T09:20:01+0000",
"ttfb": 19,
"cli_ip": "147.160.230.112",
"cli_country": "CH",
"rid": "974e67f6",
"req_ua": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15",
"host": "example.com",
"url": "/content/hello.png",
"method": "GET",
"res_ctype": "image/png",
"cache": "PASS",
"status": 200,
"res_age": 0,
"pop": "PAR",
"rules": "",
"forwarded_host": "example.com",
"cache_control": "max-age=300"
}

Responstransformaties response-transformations

Met de regels voor het transformeren van reacties kunt u kop- en cookies en de status van de uitgaande reacties van de CDN instellen en ongedaan maken. 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"
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
      - 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
      - name: status-code-rule
        when:
          reqProperty: path
          like: status-code
        actions:
          - type: set
            respProperty: status
            value: '410'
      - name: set-response-cookie-with-attributes-as-object
        when: '*'
        actions:
          - type: set
            respCookie: first-name
            value: first-value
            attributes:
              expires: '2025-08-29T10:00:00'
              domain: example.com
              path: /some-path
              secure: true
              httpOnly: true
              extension: ANYTHING
      - name: unset-response-cookie
        when: '*'
        actions:
          - type: unset
            respCookie: third-name

Acties

In de onderstaande tabel worden de beschikbare acties beschreven.

Naam
Properties
Betekenis
plaats
respProperty, value
Hiermee wordt een eigenschap response ingesteld. Ondersteunt alleen de eigenschap “status” om de statuscode in te stellen.
respHeader, waarde
Hiermee wordt een opgegeven antwoordheader ingesteld op een bepaalde waarde.
respCookie, kenmerken (verloopt, domein, weg, veilig, httpOnly, extension), waarde
Stelt een opgegeven aanvraagcookie met specifieke kenmerken in op een bepaalde waarde.
logProperty, value
Stelt een opgegeven CDN-logeigenschap in op een bepaalde waarde.
var, value
Stelt een opgegeven variabele in op een bepaalde waarde.
unset
respHeader
Hiermee verwijdert u een opgegeven koptekst uit het antwoord.
respCookie, waarde
Hiermee wordt een opgegeven cookie verwijderd.
logProperty, value
Hiermee wordt een opgegeven CDN-logeigenschap verwijderd.
var
Hiermee wordt een opgegeven variabele verwijderd.

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).

De verzoekeigenschappen originalPath en originalUrl zijn de onveranderlijke originele weg (zonder vraagparameters) en volledige URL (met inbegrip van vraagparameters), respectievelijk-elk genomen vóór om het even welke CDN ​ verzoektransformaties ​. Gebruik deze waarden in when -omstandigheden wanneer u regels moet verankeren over wat de client oorspronkelijk heeft verzonden, in plaats van waarden die eerder in de evaluatiereeks zijn herschreven. Gebruik originalPath voor alleen paden afstemmen; gebruik originalUrl wanneer het vraagkoord deel van de voorwaarde moet uitmaken (bijvoorbeeld, verpletterend of het filtreren op een specifieke aanvankelijke verzoek URL).

Voorbeeld van configuratie:

kind: "CDN"
version: "1"
data:
  originSelectors:
    rules:
      - name: example-com
        when: { reqProperty: originalPath, like: /proxy* }
        action:
          type: selectOrigin
          originName: example-com
          # skipCache: true
          # headers:
          #   Authorization: ${{AUTH_TOKEN}}
    origins:
      - name: example-com
        domain: www.example.com
        # ip: '1.1.1.1'
        # forwardHost: true
        # forwardCookie: true
        # forwardAuthorization: true
        # timeout: 20

Acties

Uitleg in de onderstaande tabel is de beschikbare handeling.

Naam
Properties
Betekenis
selectOrigin
originName
Naam van een van de gedefinieerde oorsprong.
skipCache (optioneel, standaard is false)
Vlag of om caching voor verzoeken te gebruiken die deze regel aanpassen. De reacties worden standaard in de cache geplaatst op basis van de header voor het in cache plaatsen van reacties (bijvoorbeeld Cache-Control of Expires)
Kopteksten (optioneel, standaard is {})
Sleutel-waarde paren die extra kopballen van HTTP bevatten die naar het geselecteerde achtereind moeten worden verzonden wanneer de regel wordt teweeggebracht. Met toetsen die overeenkomen met koptekstnamen en waarden die overeenkomen met koptekstwaarden
selectAemOrigin
originName
Naam van een van de vooraf gedefinieerde AEM-oorsprong (ondersteunde waarde: static).
skipCache (optioneel, standaard is false)
Vlag of om caching voor verzoeken te gebruiken die deze regel aanpassen. De reacties worden standaard in de cache geplaatst op basis van de header voor het in cache plaatsen van reacties (bijvoorbeeld Cache-Control of Expires)
Kopteksten (optioneel, standaard is {})
Sleutel-waarde paren die extra kopballen van HTTP bevatten die naar het geselecteerde achtereind moeten worden verzonden wanneer de regel wordt teweeggebracht. Met toetsen die overeenkomen met koptekstnamen en waarden die overeenkomen met koptekstwaarden

Oorsprong

Verbindingen met oorsprong zijn alleen SSL en gebruiken poort 443.

Eigenschap
Betekenis
naam
Naam waarnaar kan worden verwezen door “action.originName”.
domein
Domeinnaam gebruikt om verbinding te maken met de aangepaste achtergrond. Het wordt ook gebruikt voor SSL SNI en bevestiging.
ip (facultatief, gesteund iv4 en ipv6)
Indien opgegeven, wordt deze gebruikt om verbinding te maken met de backend in plaats van met “domain”. Stilstaand “domein” wordt gebruikt voor SSL SNI en validatie.
forwardHost (facultatief, gebrek is vals)
Indien ingesteld op true, wordt de header “Host” van de clientaanvraag doorgegeven aan de backend, anders wordt de waarde “domain” doorgegeven in de header “Host”.
forwardCookie (facultatief, gebrek is vals)
Als de waarde true is, wordt de koptekst ‘Cookie’ uit de clientaanvraag doorgegeven aan de achterkant. Als dit niet het geval is, wordt de koptekst Cookie verwijderd.
forwardAuthorization (facultatief, gebrek is vals)
Als de waarde true is, wordt de header “Authorization” van de clientaanvraag doorgegeven aan de back-end, anders wordt de machtigingsheader verwijderd.
onderbreking (facultatief, in seconden, gebrek is 60)
Aantal seconden dat CDN op een backendserver moet wachten om de eerste byte van een HTTP-antwoordinstantie te leveren. Deze waarde wordt ook gebruikt als een tussenliggende time-out naar de backend-server.
IMPORTANT
De domein waarde moet niet .adobeaemcloud.com bevatten. U kunt niet rechtstreeks volmacht aan een adobeaemcloud.com domein. Deze beperking beschermt tegen ongewenste verzoeklijnen. Aan volmachtsverkeer aan uw milieu van AEM as a Cloud Service, gebruik a ​ douanedomein ​ in uw milieu AEMaaCS als oorsprong in plaats daarvan wordt geïnstalleerd achterste.

Aangepast domein uitbreiden naar statische AEM-laag proxy-custom-domain-static

De selecteurs van de oorsprong kunnen worden gebruikt om AEM te leiden publiceren verkeer aan AEM statische inhoud die gebruikend de ​ front eindpijpleiding ​ wordt opgesteld. De gevallen van het gebruik omvatten het dienen van statische middelen op het zelfde domein zoals de pagina (b.v., example.com/static) of op een uitdrukkelijk verschillend domein (b.v., static.example.com).

Hier volgt een voorbeeld van een regel voor de oorspronkelijke kiezer waarmee u dit kunt bereiken:

kind: CDN
version: '1'
data:
  originSelectors:
    rules:
      - name: select-aem-static-origin
        when:
          reqProperty: domain
          equals: static.example.com
        action:
          type: selectAemOrigin
          originName: static

Proxeren naar Edge Delivery Services proxying-to-edge-delivery

Er zijn scenario’s waar de oorsprongsselecteurs zouden moeten worden gebruikt om verkeer door AEM te leiden publiceer aan AEM Edge Delivery Services:

  • Sommige inhoud wordt geleverd door een domein dat wordt beheerd door AEM Publish, terwijl andere inhoud van hetzelfde domein door Edge Delivery Services wordt geleverd.
  • De inhoud die door Edge Delivery Services wordt geleverd zou van regels profiteren die via config pijpleiding, met inbegrip van de regels van de verkeersfilter of verzoek/reactietransformaties worden opgesteld.
  • Met de Edge Delivery-configuratiepijplijn kunt u door Adobe beheerde CDN-instellingen configureren door regels zoals trafficFilters , originSelectors en redirects te definiëren.

Hier volgt een voorbeeld van een regel voor de oorspronkelijke kiezer waarmee u dit kunt bereiken:

kind: CDN
version: '1'
data:
  originSelectors:
    rules:
      - name: select-edge-delivery-services-origin
        when:
          allOf:
            - reqProperty: tier
              equals: publish
            - reqProperty: domain
              equals: <Production Host>
            - reqProperty: path
              matches: "^(/scripts/.*|/styles/.*|/fonts/.*|/blocks/.*|/icons/.*|.*/media_.*|/favicon.ico)"
        action:
          type: selectOrigin
          originName: aem-live
    origins:
      - name: aem-live
        domain: main--repo--owner.aem.live
NOTE
Omdat Adobe Beheerde CDN wordt gebruikt, zorg ervoor om pushongeldigverklaring op beheerde wijze te vormen, door de de duw van de Opstelling van Edge Delivery Services ​ documentatie van de ongeldigverklaring ​ te volgen.

Proxying naar AEMaaCS-omgeving proxying-to-aemaacs

U kunt een adobeaemcloud.com domein niet direct als oorsprong in uw configuratie gebruiken CDN. Dit wordt afgewezen (domein mag geen .adobeaemcloud.com bevatten) om te beschermen tegen ongewenste aanvraagdoorlopen. Dit is ook van toepassing wanneer het verpletteren van een domein dat voor een Plaats van Edge Delivery wordt geïnstalleerd.

Als uw douanedomein (www.example.com) reeds aan een milieu AEMaaCS wordt geïnstalleerd, zal het gebrek verpletterend aan de achtergrond van AEM zonder enige CDN regel leiden. Gebruik oorspronkelijke kiezers wanneer u de omgeving wilt doorlopen (bijvoorbeeld van pXXXX-eYYYY naar pXXXX-eZZZZ ) of van een Edge Delivery-site naar een AEMaaCS-omgeving.

Om volmachtsverkeer aan uw milieu van AEM as a Cloud Service in die gevallen (bijvoorbeeld, om specifieke wegen zoals /graphql aan een achtereind te leiden), installeer een douanedomein in uw milieu AEMaaCS en gebruik dat douanedomein als oorsprong in uw configuratie CDN.

Voorbeeld: als uw AEM publiceer rij bij publish-pXXXXX-eYYYYY.adobeaemcloud.com bereikbaar is, gebruik niet dat domein in originSelectors. In plaats daarvan:

  1. Installeer een aangepast domein in uw AEMaaCS-omgeving (bijvoorbeeld aem-publish-origin.example.com ) dat naar uw publicatieservice wijst.
  2. Definieer in uw CDN-configuratie een oorsprong met dat aangepaste domein en routeer de gewenste paden (bijvoorbeeld /graphql ) ernaar.
kind: CDN
version: '1'
data:
  originSelectors:
    rules:
      - name: graphql-to-aem-publish
        when:
          allOf:
            - reqProperty: domain
              equals: www.example.com
            - reqProperty: originalPath
              like: /graphql*
        action:
          type: selectOrigin
          originName: aem-publish-origin
    origins:
      - name: aem-publish-origin
        domain: aem-publish-origin.example.com

Server-side omleidingen server-side-redirectors

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"
data:
  redirects:
    rules:
      - name: redirect-absolute
        when: { reqProperty: originalPath, equals: "/page.html" }
        action:
          type: redirect
          status: 301
          location: https://example.com/page
      - name: redirect-relative
        when: { reqProperty: originalPath, equals: "/anotherpage.html" }
        action:
          type: redirect
          location: /anotherpage
Naam
Properties
Betekenis
redirect
locatie
Waarde voor de koptekst ‘Locatie’.
status (optioneel, standaard is 301)
De HTTP-status die standaard moet worden gebruikt in het omleidingsbericht, is 301. De toegestane waarden zijn: 301, 302, 303, 307, 308.

De locaties van een omleiding kunnen letterlijke tekenreeksen zijn (bijvoorbeeld https://www.example.com/page) of het resultaat van een eigenschap (bijvoorbeeld pad) die optioneel wordt getransformeerd, met de volgende syntaxis:

redirects:
  rules:
    - name: country-code-redirect
      when: { reqProperty: path, like: "/" }
      action:
        type: redirect
        location:
          reqProperty: clientCountry
          transform:
            - op: replace
              match: '^(.*)


              replacement: 'https://www.example.com/\1/home'
            - op: tolower
    - name: www-redirect
      when: { reqProperty: domain, equals: "example.com" }
      action:
        type: redirect
        location:
          reqProperty: url
          transform:
            - op: replace
              match: '^/(.*)


              replacement: 'https://www.example.com/\1'
recommendation-more-help
experience-manager-cloud-service-help-main-toc