Dispatcher è lo strumento di caching e/o bilanciamento del carico di Adobe Experience Manager.
La pagina seguente fornisce le linee guida per la configurazione del dispatcher per un progetto AEM Screens.
Se un dispatcher è disponibile, è possibile impedire le connessioni al servlet di registrazione filtrando nelle regole del dispatcher.
Se non è presente alcun dispatcher, disattiva il servlet di registrazione nell’elenco dei componenti OSGi.
Prima di configurare il dispatcher per un progetto AEM Screens, è necessario disporre di conoscenze precedenti su Dispatcher.
Per ulteriori informazioni, consulta Configurazione di Dispatcher .
I lettori/dispositivi AEM Screens utilizzano una sessione autenticata per accedere alle risorse anche nelle istanze di pubblicazione. Quindi, quando disponi di più istanze di pubblicazione, le richieste devono sempre andare alla stessa istanza di pubblicazione in modo che la sessione autenticata sia valida per tutte le richieste provenienti dai lettori/dispositivi AEM Screens.
Segui i passaggi riportati di seguito per configurare il dispatcher per un progetto AEM Screens.
Se desideri utilizzare più istanze di pubblicazione fronte a un singolo dispatcher, devi aggiornare il file dispatcher.any
per abilitare la persistenza
/stickyConnections {
/paths
{
"/"
}
}
Se disponi di un’istanza di pubblicazione fronte a un dispatcher, l’abilitazione della persistenza al dispatcher non sarà di aiuto in quanto il load balancer può inviare ogni richiesta al dispatcher. In questo caso, fai clic su Abilita nel campo Atteggiamento per attivarlo a livello di load balancer, come illustrato nella figura seguente:
Ad esempio, se utilizzi AWS ALB, fai riferimento a Gruppi di destinazione per i bilanciatori di carico dell'applicazione per abilitare la persistenza a livello ALB. Abilita l'adesività per 1 giorno.
Aggiungi quanto segue alla sezione /clientheaders
:
X-Requested-With
X-SET-HEARTBEAT
X-REQUEST-COMMAND
Per configurare i filtri Screens, aggiungi quanto segue a /filter.
## AEM Screens Filters
## # Login, Ping and Device Configurations
/0200 { /type "allow" /method "POST" /url "/libs/granite/core/content/login.validate/j_security_check" }
/0201 { /type "allow" /method "GET" /url "/libs/granite/csrf/token.json" }
/0202 { /type "allow" /method "GET" /url "/content/screens/svc.json" }
/0203 { /type "allow" /method "GET" /url "/content/screens/svc.ping.json" }
/0204 { /type "allow" /method "GET" /url "/content/screens/svc.config.json" }
## # Device Dashboard Configurations
/0210 { /type "allow" /method '(GET|POST)' /url "/home/users/screens/*/devices/*/profile_screens.preferences.json" }
/0211 { /type "allow" /method "POST" /url "/home/users/screens/*/devices/*/profile_screens.logs.json" }
/0212 { /type "allow" /method "POST" /url "/home/users/screens/*/devices/*/profile_screens.statusinfo.json" }
/0213 { /type "allow" /method "POST" /url "/home/users/screens/*/devices/*/profile_screens.screenshot.json" }
## # Content Configurations
/0220 { /type "allow" /method '(GET|HEAD)' /url "/content/screens/*" }
/0221 { /type "allow" /method '(GET|HEAD)' /url "/content/screens/*/jcr:content/*/offline-config_*.zip" }
/0222 { /type "allow" /method '(GET|HEAD)' /url '/var/contentsync/content/screens/.+/jcr:content/.+/offline-config_.*\.[0-9]+\.zip' }
Disattiva la memorizzazione in cache del dispatcher per /content/screens path.
I lettori Screens utilizzano una sessione autenticata, pertanto il dispatcher non memorizza nella cache alcuna delle richieste dei lettori dello schermo per channels/assets
.
Per abilitare la cache per le risorse in modo che le risorse vengano servite dalla cache del dispatcher, devi:
/allowAuthorization 1
nella sezione /cache
/rules
di /cache
/0000
{
/glob "*"
/type "allow"
}
/0001
{
# Disable Dispatcher Cache for Screens channels
/glob "/content/screens/*.html"
/type "deny"
}
/0002
{
# Disable Dispatcher Cache for Screens offline manifests
/glob "/content/screens/*.json"
/type "deny"
}
/0003
{ # Disable Dispatcher Cache for Screens devices json
/glob "/home/users/screens/*.json"
/type "deny"
}