URL's extern maken externalizing-urls

In Adobe Experience Manager (AEM), is externalizer de dienst OSGI die u programmatically een middelweg (bijvoorbeeld, /path/to/my/page) in een externe en absolute URL (bijvoorbeeld, https://www.mycompany.com/path/to/my/page) laat omzetten door de weg met pre-gevormde DNS te bevestigen.

Omdat een instantie zijn uiterlijk zichtbare URL niet kan kennen als het achter een Weblaag loopt, en omdat soms een verbinding buiten het verzoekwerkingsgebied moet worden gecreeerd, verstrekt deze dienst een centrale plaats om die externe URLs te vormen en hen te bouwen.

Deze pagina verklaart hoe te om de dienst te vormen Externalzer en hoe te om het te gebruiken. Voor meer details, zie JavaDocs.

De service ExternalAlizer configureren configuring-the-externalizer-service

De ExternalAlizer dienst laat u veelvoudige domeinen centraal bepalen die aan programmatically voorvoegselmiddelwegen kunnen worden gebruikt. Elk domein wordt geïdentificeerd door een unieke naam die wordt gebruikt om programmatically naar het domein te verwijzen.

Om een domeinafbeelding voor de Externalalizer dienst te bepalen:

  1. Navigeer aan de configuratiemanager via Hulpmiddelen, dan Console van het Web, of ga binnen:

    https://<host>:<port>/system/console/configMgr

  2. Klik Dag CQ Verbinding Externalzer om de doos van de configuratiedialoog te openen.

    note note
    NOTE
    De directe koppeling naar de configuratie is https://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl

    aem-externalizer-01

  3. Bepaal de afbeelding van a Domeinen: een afbeelding bestaat uit een unieke naam die in de code kan worden gebruikt om naar het domein, een ruimte, en het domein te verwijzen:

    <unique-name> [scheme://]server[:port][/contextpath]

    Waarbij:

    • regeling is http of https, maar kan ook ftp, etc. zijn.

      • gebruik https om https-koppelingen af te dwingen, indien gewenst
      • wordt gebruikt als de clientcode het schema niet overschrijft wanneer wordt gevraagd om externalisatie van een URL.
    • server is de gastheernaam (kan een domeinnaam of ip adres zijn).

    • haven (facultatief) is het havenaantal.

    • contextpath (facultatief) wordt slechts geplaatst als AEM als webapp onder een verschillende contextweg geïnstalleerd is.

    Bijvoorbeeld: production https://my.production.instance

    De volgende toewijzingsnamen zijn vooraf gedefinieerd en moeten worden ingesteld omdat AEM op deze namen vertrouwt:

    • local - de lokale instantie
    • author - de DNS van het ontwerpsysteem
    • publish - de openbare naar voren gerichte website DNS
    note note
    NOTE
    Met een aangepaste configuratie kunt u een categorie toevoegen, zoals production , staging of zelfs externe niet-AEM systemen, zoals my-internal-webservice . Het is handig om hardcodering van dergelijke URL's op verschillende plaatsen in de codebase van een project te voorkomen.
  4. Klik sparen om uw veranderingen te bewaren.

NOTE
De Adobe adviseert dat u de configuratie aan de bewaarplaatstoevoegt.

De service ExternalAlizer gebruiken using-the-externalizer-service

Deze sectie toont een paar voorbeelden van hoe de ​dienst Externalzer kan worden gebruikt:

  1. om de dienst Externalzer in JSP te krijgen:

    code language-java
    Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
    
  2. om een weg met het "te externaliseren"domein:

    code language-java
    String myExternalizedUrl = externalizer.publishLink(resolver, "/my/page") + ".html";
    

    Het veronderstellen van de domeinafbeelding:

    • publish https://www.website.com

    myExternalizedUrl eindigt omhoog met de waarde:

    • https://www.website.com/contextpath/my/page.html
  3. om een weg met het "auteur"domein externaliseren:

    code language-java
    String myExternalizedUrl = externalizer.authorLink(resolver, "/my/page") + ".html";
    

    Het veronderstellen van de domeinafbeelding:

    • author https://author.website.com

    myExternalizedUrl eindigt omhoog met de waarde:

    • https://author.website.com/contextpath/my/page.html
  4. om een weg met het "lokale"domein externaliseren:

    code language-java
    String myExternalizedUrl = externalizer.externalLink(resolver, Externalizer.LOCAL, "/my/page") + ".html";
    

    Het veronderstellen van de domeinafbeelding:

    • local https://publish-3.internal

    myExternalizedUrl eindigt omhoog met de waarde:

    • https://publish-3.internal/contextpath/my/page.html
  5. U kunt meer voorbeelden in JavaDocsvinden.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2