URL's extern maken externalizing-urls

CAUTION
AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

In AEM ExternalAlizer is een dienst OSGI die u toestaat om een middelweg programmatically om te zetten (b.v. /path/to/my/page) in een externe en absolute URL (bijvoorbeeld https://www.mycompany.com/path/to/my/page) door het pad vooraf te bevestigen met een vooraf geconfigureerde DNS.

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 te vormen ExternalAlizer en hoe deze te gebruiken. Raadpleeg voor meer informatie de Javadocs.

De service ExternalAlizer configureren configuring-the-externalizer-service

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

Een domeintoewijzing definiëren voor de ExternalAlizer service:

  1. Navigeer naar de configuratiemanager via Gereedschappen vervolgens Webconsole, of voer https://<host>:<port>/system/console/configMgr.

  2. Klikken Day CQ Link ExternalAlizer om het dialoogvenster Configuratie te openen.

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

    chlimage_1-44

  3. Een domeintoewijzing definiëren: een toewijzing 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 meestal http of https, maar kan ook ftp enz. 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).
    • poort (optioneel) is het poortnummer.
    • contextpad (optioneel) wordt alleen ingesteld als AEM is geïnstalleerd als een webapp onder een ander contextpad.

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

    De volgende toewijzingsnamen zijn vooraf gedefinieerd en moeten altijd worden ingesteld op basis van AEM:

    • lokaal - de lokale instantie
    • auteur - DNS van het ontwerpsysteem
    • publish - het publiek met de website DNS geconfronteerd
    note note
    NOTE
    Met een aangepaste configuratie kunt u een nieuwe categorie toevoegen, zoals "productie", "staging" of zelfs externe niet-AEM systemen, zoals "mijn-interne webservice". Dit is handig om hardcodering van dergelijke URL's op verschillende plaatsen in de codebase van een project te voorkomen.
  4. Klikken Opslaan om uw wijzigingen op te slaan.

De service ExternalAlizer gebruiken using-the-externalizer-service

In deze sectie worden enkele voorbeelden getoond van de manier waarop ExternalAlizer kan worden gebruikt.

Om de dienst Externalzer in JSP te krijgen:

Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);

Een pad extern maken met het domein 'publish':

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

Het veronderstellen van de domeinafbeelding " publish https://www.website.com", eindigt myExternalUrl met de waarde " https://www.website.com/contextpath/my/page.html".

Een pad extern maken met het domein 'auteur':

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

Het veronderstellen van de domeinafbeelding " author https://author.website.com", eindigt myExternalUrl met de waarde " https://author.website.com/contextpath/my/page.html".

Een pad extern maken met het 'lokale' domein:

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

Het veronderstellen van de domeinafbeelding " local https://publish-3.internal", eindigt myExternalUrl met de waarde " https://publish-3.internal/contextpath/my/page.html".

Meer voorbeelden vindt u in het gedeelte Javadocs.

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e