Esternalizzazione degli URL

Ultimo aggiornamento: 2023-11-07

In Adobe Experience Manager (AEM), il Esternalizzatore è un servizio OSGI che consente di trasformare programmaticamente un percorso di risorsa (ad esempio, /path/to/my/page) in un URL esterno e assoluto (ad esempio, https://www.mycompany.com/path/to/my/page) inserendo un prefisso DNS nel percorso.

Poiché un’istanza non può conoscere il proprio URL visibile esternamente se è in esecuzione dietro un livello web e poiché a volte è necessario creare un collegamento al di fuori dell’ambito della richiesta, questo servizio fornisce una posizione centrale per configurare tali URL esterni e generarli.

Questa pagina spiega come configurare Esternalizzatore e come utilizzarlo. Per ulteriori dettagli, vedi JavaScript.

Configurazione del servizio Externalizer

Il Esternalizzatore Il servizio consente di definire centralmente più domini che possono essere utilizzati per prefissare in modo programmatico i percorsi delle risorse. Ogni dominio è identificato da un nome univoco utilizzato per fare riferimento al dominio a livello di programmazione.

Per definire una mappatura di dominio per Esternalizzatore servizio:

  1. Passa alla gestione della configurazione tramite Strumenti, quindi Console web o immetti:

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

  2. Clic Day CQ Link Externalizer per aprire la finestra di dialogo configurazione.

    NOTA

    Il collegamento diretto alla configurazione è https://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl

    aem-externalizer-01

  3. Definisci un Domini mappatura: una mappatura è costituita da un nome univoco che può essere utilizzato nel codice per fare riferimento al dominio, a uno spazio e al dominio:

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

    Dove:

    • schema è http o https, ma può anche essere ftp e così via.

      • se necessario, utilizza https per applicare i collegamenti https
      • viene utilizzato se il codice client non sostituisce lo schema quando viene richiesta l’esternalizzazione di un URL.
    • server è il nome host (può essere un nome di dominio o un indirizzo ip).

    • porta (facoltativo) è il numero della porta.

    • contextpath (facoltativo) è impostato solo se AEM è installato come app web in un percorso di contesto diverso.

    Esempio: production https://my.production.instance

    I seguenti nomi di mappatura sono predefiniti e devono essere impostati perché AEM si basa su di essi:

    • local : l’istanza locale
    • author - DNS del sistema di authoring
    • publish - il sito web pubblico DNS
    NOTA

    Una configurazione personalizzata consente di aggiungere una categoria, ad esempio production, staging, o anche sistemi esterni non AEM come my-internal-webservice. È utile evitare di codificare tali URL in posizioni diverse nella base di codice di un progetto.

  4. Clic Salva per salvare le modifiche.

NOTA

Utilizzo del servizio Externalizer

Questa sezione mostra alcuni esempi di come Esternalizzatore Il servizio può essere utilizzato:

  1. Per ottenere il servizio Externalizer in una JSP:

    Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
    
  2. Per esternalizzare un percorso con il dominio "publish":

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

    Supponendo il mapping del dominio:

    • publish https://www.website.com

    myExternalizedUrl finisce con il valore:

    • https://www.website.com/contextpath/my/page.html
  3. Per esternalizzare un percorso con il dominio "author":

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

    Supponendo il mapping del dominio:

    • author https://author.website.com

    myExternalizedUrl finisce con il valore:

    • https://author.website.com/contextpath/my/page.html
  4. Per esternalizzare un percorso con il dominio "locale":

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

    Supponendo il mapping del dominio:

    • local https://publish-3.internal

    myExternalizedUrl finisce con il valore:

    • https://publish-3.internal/contextpath/my/page.html
  5. Puoi trovare altri esempi nella sezione JavaScript.

In questa pagina