Migrieren der Dispatcher-Konfiguration von AMS zu AEM as a Cloud Service Dispatcher-in-the-cloud
Hauptunterschiede zwischen AMS Dispatcher und AEM as a Cloud Service main-differences-between-ams-dispatcher-configuration-and-aem-as-a-cloud-service
Die Apache- und Dispatcher-Konfiguration in AEM as a Cloud Service ähnelt der AMS-Konfiguration. Die Hauptunterschiede sind:
- In AEM as a Cloud Service können einige Apache-Direktiven nicht verwendet werden (z. B.
ListenoderLogLevel). - In AEM as a Cloud Service können nur einige Teile der Dispatcher-Konfiguration in include-Dateien eingefügt werden, und ihre Benennung ist wichtig. Beispielsweise müssen Filterregeln, die Sie über verschiedene Hosts hinweg wiederverwenden möchten, in einer Datei namens
filters/filters.anyabgelegt werden. Weitere Informationen finden Sie auf der Referenzseite. - In AEM as a Cloud Service gibt es eine zusätzliche Validierung, um Filterregeln zu deaktivieren, die mit
/globgeschrieben wurden. Dies dient der Vermeidung von Sicherheitsproblemen. Dadeny *verwendet wird anstelle vonallow *(was nicht verwendet werden kann), profitieren Kundinnen und Kunden von einer lokalen Ausführung von Dispatcher und der Möglichkeit zum Ausprobieren: Sie können sich die Protokolle ansehen, um genau zu erfahren, welche Pfade die Dispatcher-Filter blockieren, damit sich diese hinzufügen lassen. - In AEM as a Cloud Service wird derzeit dringend empfohlen, den flexiblen Quellmodus der Dispatcher-Konfiguration zu verwenden z. B. zur Verwendung von Konfigurations-Pipelines auf Web-Ebene oder zur besseren Flexibilität bei der Anzahl und Struktur von Konfigurationsdateien.
Richtlinien für die Migration einer Dispatcher-Konfiguration von AMS zu AEM as a Cloud Service
Die Konfigurationsstruktur von Dispatcher unterscheidet sich bei Managed Services und AEM as a Cloud Service. Nachfolgend finden Sie eine schrittweise Anleitung zur Migration von der AMS Dispatcher-Konfiguration Version 2 zu AEM as a Cloud Service.
Konvertieren einer AMS- in eine AEM as a Cloud Service-Dispatcher-Konfiguration
Im folgenden Abschnitt finden Sie eine schrittweise Anleitung zum Konvertieren einer AMS-Konfiguration. Sie setzt voraus, dass
Dass Sie über ein Archiv mit einer Struktur verfügen, die der in der Konfiguration von Cloud Manager Dispatcher beschriebenen ähnelt
Archiv extrahieren und gegebenenfalls ein Präfix entfernen
Extrahieren Sie das Archiv in einen Ordner und stellen Sie sicher, dass die unmittelbaren Unterordner mit conf, conf.d,conf.dispatcher.d und conf.modules.d. Wenn dies nicht der Fall ist, verschieben Sie sie in der Hierarchie nach oben.
Nicht verwendete Unterordner und Dateien entfernen
Entfernen Sie die Unterordner conf und conf.modules.d sowie Dateien, die mit conf.d/*.conf übereinstimmen.
Alle nicht veröffentlichten virtuellen Hosts entfernen
Entfernen Sie alle virtuellen Host-Dateien in conf.d/enabled_vhosts, die author, unhealthy, health,lc oder flush in seinem Namen. Alle virtuellen Host-Dateien in conf.d/available_vhosts, die nicht
Verknüpfte mit können auch entfernt werden.
Virtual-Host-Abschnitte, die nicht auf Port 80 verweisen, entfernen oder kommentieren
Wenn Sie in Ihren Virtual-Host-Dateien immer noch über Abschnitte verfügen, die sich ausschließlich auf andere Ports als Port 80 beziehen, z. B:
<VirtualHost *:443>
...
</VirtualHost>
, entfernen oder kommentieren Sie diese. Anweisungen in diesen Abschnitten werden nicht verarbeitet, aber wenn Sie
Wenn Sie sie beibehalten, werden Sie sie möglicherweise trotzdem ohne Wirkung bearbeiten, was verwirrend ist.
Neuschreibungen überprüfen
Rufen Sie Verzeichnis conf.d/rewrites auf.
Entfernen Sie alle Dateien mit dem Namen base_rewrite.rules und xforwarded_forcessl_rewrite.rules und denken Sie daran,
Entfernen Sie Include Anweisungen in den Virtual-Host-Dateien, die auf sie verweisen.
Wenn conf.d/rewrites jetzt eine einzelne Datei enthält, sollte sie in rewrite.rules umbenannt werden und darf nicht
Vergessen Sie, die Include-Anweisungen anzupassen, die sich auf diese Datei auch in den virtuellen Host-Dateien beziehen.
Wenn der Ordner jedoch mehrere Virtual-Host-spezifische Dateien enthält, sollten deren Inhalte sein
in die Include-Anweisung kopiert, die in den Virtual-Host-Dateien auf sie verweist.
Variablen überprüfen
Rufen Sie Verzeichnis conf.d/variables auf.
Entfernen Sie alle Dateien mit dem Namen “ams_default.vars” und denken Sie daran, Include Anweisungen in der virtuellen Bibliothek zu entfernen
Host-Dateien, die auf sie verweisen.
Wenn conf.d/variables jetzt eine einzelne Datei enthält, sollte sie in custom.vars umbenannt werden und darf nicht
Vergessen Sie, die Include-Anweisungen anzupassen, die sich auf diese Datei auch in den virtuellen Host-Dateien beziehen.
Wenn der Ordner jedoch mehrere Virtual-Host-spezifische Dateien enthält, sollten deren Inhalte sein
in die Include-Anweisung kopiert, die in den Virtual-Host-Dateien auf sie verweist.
Entfernen von Zulassungslisten
Entfernen Sie die conf.d/whitelists und entfernen Sie Include Anweisungen in den virtuellen Host-Dateien, die auf verweisen.
Einige Dateien in diesem Unterordner.
Nicht mehr verfügbare Variable ersetzen
In allen virtuellen Host-Dateien:
PUBLISH_DOCROOT umbenennen in DOCROOT
Entfernen Sie Abschnitte, die sich auf Variablen namens DISP_ID, PUBLISH_FORCE_SSL oder PUBLISH_WHITELIST_ENABLED beziehen
Status prüfen, indem Sie den Validator ausführen
Führen Sie mit dem Unterbefehl httpd den Dispatcher-Validator in Ihrem Verzeichnis aus:
$ validator httpd .
Wenn Fehler im Zusammenhang mit fehlenden Include-Dateien angezeigt werden, überprüfen Sie, ob diese korrekt umbenannt wurden
-Dateien.
Wenn Sie Apache-Anweisungen sehen, die nicht in der Zulassungsliste enthalten sind, entfernen Sie sie.
Alle Nicht-Publish-Farmen entfernen
Entfernen Sie alle Farm-Dateien in conf.dispatcher.d/enabled_farms, die author, unhealthy, health,lc oder flush in seinem Namen. Alle Farm-Dateien in conf.dispatcher.d/available_farms, die nicht
Verknüpfte mit können auch entfernt werden.
Farm-Dateien umbenennen
Alle Farmen in conf.dispatcher.d/enabled_farms müssen nach dem *.farm umbenannt werden, z. B.
Die Farm-Datei customerX_farm.any sollte customerX.farm umbenannt werden.
Cache überprüfen
Rufen Sie Verzeichnis conf.dispatcher.d/cache auf.
Entfernen Sie alle Dateien mit dem Präfix ams_.
Wenn conf.dispatcher.d/cache jetzt leer ist, kopieren Sie die Datei . conf.dispatcher.d/cache/rules.any
von der standardmäßigen Dispatcher-Konfiguration in diesen Ordner. Die standardmäßige Dispatcher
Die Konfiguration finden Sie im src dieser SDK. Vergessen Sie nicht, die$include Anweisungen, die auf die ams_*_cache.any-Regeldateien in den Farm-Dateien verweisen
Und auch.
Wenn stattdessen conf.dispatcher.d/cache jetzt eine einzelne Datei mit dem Suffix _cache.any enthält,
Sie sollte in rules.any umbenannt werden und darf nicht vergessen, die $include Anweisungen anzupassen
auch auf diese Datei in den Farm-Dateien verweisen.
Wenn der Ordner jedoch mehrere Farm-spezifische Dateien mit diesem Muster enthält, wird der Inhalt angezeigt
sollte in die $include-Anweisung kopiert werden, die in den Farm-Dateien auf sie verweist.
Entfernen Sie alle Dateien mit dem Suffix _invalidate_allowed.any.
Kopieren Sie die Datei conf.dispatcher.d/cache/default_invalidate_any aus der Standarddatei
Konfiguration von AEM in der Cloud Dispatcher an diesen Speicherort.
Entfernen Sie in jeder Farm-Datei alle Inhalte im cache/allowedClients und ersetzen Sie sie
durch:
$include "../cache/default_invalidate.any"
Client-Kopfzeilen überprüfen
Rufen Sie Verzeichnis conf.dispatcher.d/clientheaders auf.
Entfernen Sie alle Dateien mit dem Präfix ams_.
Wenn conf.dispatcher.d/clientheaders jetzt eine einzelne Datei mit dem Suffix _clientheaders.any enthält,
Sie sollte in clientheaders.any umbenannt werden und darf nicht vergessen, die $include Anweisungen anzupassen
auch auf diese Datei in den Farm-Dateien verweisen.
Wenn der Ordner jedoch mehrere Farm-spezifische Dateien mit diesem Muster enthält, wird der Inhalt angezeigt
sollte in die $include-Anweisung kopiert werden, die in den Farm-Dateien auf sie verweist.
Kopieren Sie die Datei conf.dispatcher/clientheaders/default_clientheaders.any aus der Standarddatei
AEM as a Cloud Service Dispatcher-Konfiguration an diesen Speicherort ändern.
Ersetzen Sie in jeder Datei „clientheader include“-Anweisungen, die wie folgt aussehen:
$include "/etc/httpd/conf.dispatcher.d/clientheaders/ams_publish_clientheaders.any"
$include "/etc/httpd/conf.dispatcher.d/clientheaders/ams_common_clientheaders.any"
durch die Anweisung:
$include "../clientheaders/default_clientheaders.any"
Filter prüfen
Rufen Sie Verzeichnis conf.dispatcher.d/filters auf.
Entfernen Sie alle Dateien mit dem Präfix ams_.
Wenn conf.dispatcher.d/filters jetzt eine einzelne Datei enthält, sollte sie in umbenannt werden.filters.any und vergessen Sie nicht, die darauf verweisenden $include anzupassen
Datei auch in den Farm-Dateien.
Wenn der Ordner jedoch mehrere Farm-spezifische Dateien mit diesem Muster enthält, wird der Inhalt angezeigt
sollte in die $include-Anweisung kopiert werden, die in den Farm-Dateien auf sie verweist.
Kopieren Sie die Datei conf.dispatcher/filters/default_filters.any aus der Standarddatei
AEM as a Cloud Service Dispatcher-Konfiguration an diesen Speicherort ändern.
Ersetzen Sie in jeder Farm-Datei alle „filter include“-Anweisungen, die wie folgt aussehen:
$include "/etc/httpd/conf.dispatcher.d/filters/ams_publish_filters.any"
durch die Anweisung:
$include "../filters/default_filters.any"
Renders überprüfen
Rufen Sie Verzeichnis conf.dispatcher.d/renders auf.
Entfernen Sie alle Dateien in diesem Ordner.
Kopieren Sie die Datei conf.dispatcher.d/renders/default_renders.any aus der Standarddatei
AEM as a Cloud Service Dispatcher-Konfiguration an diesen Speicherort ändern.
Entfernen Sie in jeder Farm-Datei alle Inhalte im renders und ersetzen Sie sie
durch:
$include "../renders/default_renders.any"
Virtualhosts überprüfen
Benennen Sie das Verzeichnis conf.dispatcher.d/vhosts um in conf.dispatcher.d/virtualhosts und geben Sie es ein.
Entfernen Sie alle Dateien mit dem Präfix ams_.
Wenn conf.dispatcher.d/virtualhosts jetzt eine einzelne Datei enthält, sollte sie in umbenannt werden.virtualhosts.any und vergessen Sie nicht, die darauf verweisenden $include anzupassen
Datei auch in den Farm-Dateien.
Wenn der Ordner jedoch mehrere Farm-spezifische Dateien mit diesem Muster enthält, wird der Inhalt angezeigt
sollte in die $include-Anweisung kopiert werden, die in den Farm-Dateien auf sie verweist.
Kopieren Sie die Datei conf.dispatcher/virtualhosts/default_virtualhosts.any aus der Standarddatei
AEM as a Cloud Service Dispatcher-Konfiguration an diesen Speicherort ändern.
Ersetzen Sie in jeder Farm-Datei alle „filter include“-Anweisungen, die wie folgt aussehen:
$include "/etc/httpd/conf.dispatcher.d/vhosts/ams_publish_vhosts.any"
durch die Anweisung:
$include "../virtualhosts/default_virtualhosts.any"
Status prüfen, indem Sie den Validator ausführen
Führen Sie mit dem dispatcher-Unterbefehl den AEM as a Cloud Service-Dispatcher-Validator in Ihrem Verzeichnis aus:
$ validator dispatcher .
Wenn Fehler im Zusammenhang mit fehlenden Include-Dateien angezeigt werden, überprüfen Sie, ob diese korrekt umbenannt wurden
-Dateien.
Wenn Fehler wegen einer nicht definierten Variable PUBLISH_DOCROOT auftreten, benennen Sie diese in DOCROOT um.
Informationen zu allen anderen Fehlern finden Sie im Abschnitt „Fehlerbehebung“ der
Dokumentation zum Validator-Tool.
Konfiguration mit einer lokalen Bereitstellung testen (Docker-Installation erforderlich)
Mithilfe der docker_run.sh in den AEM as a Cloud Service Dispatcher-Tools können Sie Folgendes testen
Ihre Konfiguration enthält keine anderen Fehler, die nur in angezeigt werden
Bereitstellung:
Schritt 1: Bereitstellungsinformationen mit dem Validator generieren.
validator full -d out .
Dadurch wird die vollständige Konfiguration validiert und werden in out Bereitstellungsinformationen generiert.
Schritt 2: Dispatcher mit diesen Bereitstellungsinformationen in einem Docker-Image starten.
Wenn Ihr AEM-Veröffentlichungsserver auf Ihrem macOS-Computer ausgeführt wird und Port 4503 überwacht,
Sie können Dispatcher wie folgt vor diesem Server starten:
$ docker_run.sh out docker.for.mac.localhost:4503 8080
Dadurch wird der Container gestartet und Apache am lokalen Port 8080 verfügbar gemacht.
Neue Dispatcher-Konfiguration verwenden
Herzlichen Glückwunsch! Wenn der Validator kein Problem mehr meldet und die
Docker-Container wird ohne Fehler oder Warnungen gestartet. Sie
Ihre Konfiguration kann jetzt in ein dispatcher/src Unterverzeichnis verschoben werden
Ihres Git-Repositorys.
Kundinnen und Kunden, die die AMS-Dispatcher-Konfiguration Version 1 verwenden, sollten sich an den Support wenden, um sich bei der Migration von Version 1 zu Version 2 helfen zu lassen, sodass die oben stehenden Anweisungen befolgt werden.