Ein Reverseproxyserver oder Load Balancer ist eine Appliance, die in der Regel in einem Umkreisnetzwerk (auch demilitarisierte Zone [DMZ] oder überprüftes Subnetz genannt) bereitgestellt wird, das Anforderungen aus dem Internet bearbeitet und diese an die Computer im internen Netzwerk weiterleitet. Bei der Weiterleitung von Anforderungen im Namen des Reverseproxyservers werden die Computer hinter der Firewall der Organisation maskiert und interne Computer somit vor direkten Angriffen durch Internetbenutzer geschützt. Um das interne Netzwerk vor externen Benutzern zu schützen, können zusätzliche Sicherheitsfunktionen in den Reverseproxyserver implementiert werden.
Wenn Ihr Reverseproxyserver oder Load Balancer eine Systemdiagnose unterstützt, können Sie anhand des Endpunktes der Systemdiagnose von Portal for ArcGIS ermitteln, ob das Portal für den Empfang von Anforderungen verfügbar ist. Dies ist hilfreich, um schnell zu bestimmen, ob ein Software- oder Hardwarefehler in der Site vorliegt. Weitere Informationen finden Sie unter dem Portal-Thema Systemdiagnose in der ArcGIS-REST-API.
Vorsicht:
Die in diesem Thema beschriebene Konfiguration muss durchgeführt werden, bevor Sie eine ArcGIS Server-Site mit Ihrem ArcGIS Enterprise-Portal verbinden. Das Hinzufügen eines DNS-Alias oder Reverseproxy, nachdem eine ArcGIS Server-Site mit Ihrem Portal verbunden wurde, wird nicht unterstützt. Wenn Sie den Hostnamen in der Organisations-URL ändern müssen, wenden Sie sich an Esri Professional Services oder einen anderen verlässlichen Partner, der Sie berät.
Das Aufheben der Verbindung mit einer ArcGIS Server-Site hat weitreichende Auswirkungen und kann nicht ohne Weiteres wieder rückgängig gemacht werden. Weitere Informationen finden Sie unter Verwalten von Verbundservern.
Typen von Load Balancern
Reverseproxys werden manchmal auch als Load Balancer bezeichnet, bieten aber in der Regel mehr Funktionen als nur die Verteilung eingehender Nachrichten auf Backend-Ziele. Viele Reverseproxyserver-Implementierungen können je nach Konfiguration in einer der beiden unten beschriebenen Kapazitäten ausgeführt werden.
Load-Balancing-Aktionen werden oft nach der Schicht des OSI-Modells (Open Systems Interconnection) unterschieden, auf der sie ausgeführt werden. Bei der Integration einer vorhandenen Load-Balancer-Technologie ist es wichtig zu wissen, welcher Typ implementiert wird, da dies die Gesamtarchitektur der Bereitstellung beeinflusst.
Load Balancer auf Schicht 3/4 werden manchmal auch als Netzwerk-Load Balancer oder Load Balancer auf Paketebene bezeichnet. Diese Load Balancer überprüfen den eingehenden Datenverkehr in der Regel nicht und leiten stattdessen die eingehenden TCP/UDP-Pakete an die Backend-Ziele weiter. Neuere Implementierungen ermöglichen die SSL-Beendigung auf dem Load Balancer; die SSL-Sitzung des Clients wird jedoch normalerweise mit den Backend-Zielservern eingerichtet.
Load Balancer auf Schicht 7 werden manchmal auch als Anwendungs- oder anwendungsbezogene Load Balancer bezeichnet. Diese Load Balancer überprüfen die eingehenden Nachrichten und können auf der Grundlage mehrerer Faktoren Routing-Entscheidungen treffen sowie den Inhalt dieser Nachrichten ändern, bevor sie an die Back-End-Ziele weitergeleitet werden. Load Balancer auf Schicht 7, die HTTPS verwenden, beenden die SSL-Kommunikation mit dem Client und verschlüsseln den Datenverkehr erneut, bevor sie die Anforderungen an die Backend-HTTPS-Ziele weiterleiten.
Vorbereiten eines Reverseproxyservers oder Load Balancers
Vor dem Hinzufügen von Portal for ArcGIS zum Reverseproxyserver Ihrer Organisation führen Sie die folgenden Schritte aus:
- Konfigurieren Sie auf dem Reverseproxyserver HTTPS (HTTP und HTTPS oder nur HTTPS). In Portal for ArcGIS wird für die Kommunikation standardmäßig HTTPS verwendet. Informieren Sie sich in der Produktdokumentation zu Ihrem Proxyserver über die Einrichtung von HTTPS.
Hinweis:
Die SSL-Auslagerung über einen Reverseproxyserver oder Load Balancer wird von Portal for ArcGIS nicht unterstützt. Wird in Ihrer Konfiguration ein Reverseproxyserver verwendet wird, muss die Weiterleitung des Datenverkehrs über HTTPS demnach an ArcGIS Web Adaptor oder direkt an Portal for ArcGIS erfolgen.
Hinweis:
Wenn Sie nicht ArcGIS Web Adaptor in Ihrer Bereitstellung verwenden, stellen Sie sicher, dass der Kontextname des Reverseproxyservers nur eine URL-Ebene umfasst. Die Reverseproxyserver-URL kann z. B. https://proxy.domain.com/enterprise lauten. Folgende Reverseproxyserver-URL ist jedoch nicht möglich: https://proxy.domain.com/myorg/enterprise.
Überprüfen Sie, ob der Proxyserver die gzip-Encodierung unterstützt und so konfiguriert ist, dass der Accept-Encoding-Header zulässig ist. Dieser Header ermöglicht die Komprimierung von HTTP 1.1-Antworten mittels gzip-Codierung. Wenn der Header beispielsweise zulässig ist, gibt eine Anforderung zum Laden von Map Viewer Classic eine komprimierte Antwort von ca. 1,4 MB an den Browser zurück. Wenn der Header nicht zulässig ist oder ignoriert wird, gibt eine Anforderung eine nicht komprimierte Antwort von ca. 6,8 MB an den Browser zurück. Bei einer geringen Netzwerkgeschwindigkeit kann das Laden von Map Viewer Classic einige Zeit in Anspruch nehmen, wenn die Antworten nicht komprimiert sind. Esri empfiehlt, diesen Header als Teil der Konfiguration Ihres Reverseproxyservers zuzulassen.
Load Balancer auf Schicht 3/4
Der Load Balancer sollte den Standard-Port für HTTPS-Verbindungen abhören und den Datenverkehr entweder an ArcGIS Web Adaptor oder direkt an den bzw. die Portal for ArcGIS-Computer auf Port 7443 weiterleiten. Stellen Sie sicher, dass beim Beenden von SSL-Sitzungen des Clients auf dem internen Portal for ArcGIS-Webserver das von diesem Webserver vorgelegte SSL-Zertifikat sowohl für den DNS-Alias als auch für den FQDN des Computers bzw. der Computer in der Site gültig ist, um Zertifikatprobleme (Vertrauensstellung) zu vermeiden. Dies kann in der Regel durch die Verwendung von alternativen Namen des Antragstellers für das SSL-Zertifikat erreicht werden.
Hinweis:
Wenn Sie ArcGIS Web Adaptor nicht verwenden, muss der Standardkontext (/arcgis) für die Site verwendet werden. Bei der Integration mehrerer Portal for ArcGIS-und ArcGIS Server-Sites auf demselben Load Balancer auf Schicht 3/4 sollte für jede Site ein eindeutiger DNS-Datensatz und eine Server Name Identification (SNI) verwendet werden, um den Datenverkehr an die entsprechenden Back-End-Ziele weiterzuleiten.
Load Balancer auf Schicht 7
In der Load-Balancer-Konfiguration sollte ein X-Forwarded-Host-Header auf den Hostnamen des DNS-Alias der Site festgelegt werden. Portal for ArcGIS erwartet diese Eigenschaft in dem vom Reverseproxyserver gesendeten Header und gibt dann Anforderungen zurück, die mit der URL des Reverseproxyservers übereinstimmen. Wenn Sie ArcGIS Web Adaptor nicht mit dem Portal verwenden, vergewissern Sie sich, dass der vom Load Balancer festgelegte Host-Header mit dem Hostnamen des Computers übereinstimmt, auf dem Portal for ArcGIS installiert ist.
Tipp:
Sie können den Endpunkt machines im ArcGIS Portal-Administratorverzeichnis verwenden, um den Hostnamen des Computers anzuzeigen, auf dem Portal for ArcGIS ausgeführt wird.
Eine Anforderung an den Portal for ArcGIS-REST-Endpunkt (https://dnsalias.domain.com/arcgis/sharing/rest) wird beispielsweise als dieselbe URL an den Client zurückgegeben. Wenn die Eigenschaft nicht festgelegt ist, gibt Portal for ArcGIS möglicherweise die URL des internen Computers zurück, an den die Anforderung gerichtet war (z. B. https://portal.domain.com/arcgis/sharing/rest statt https://dnsalias.domain.com/arcgis/sharing/rest). Dies ist problematisch, da Clients nicht auf diese URL zugreifen können (im Allgemeinen als Browserfehler 404 angegeben). Zudem erhält dabei der Client Zugriff auf bestimmte Informationen über den internen Computer.
Der Load Balancer muss zusammen mit dem X-Forwarded-Host-Header direkte Umleitungen durchführen können (HTTP-Antwortcodes 301 oder 302). Alle Location-Header sollten auf dem Load Balancer neu geschrieben werden, um sicherzustellen, dass der vollständig qualifizierte Domänenname (Fully Qualified Domain Name, FQDN) und der Kontext der Antwort mit dem WebContextURL-Wert des Portals übereinstimmen.
Hinzufügen eines Portals
In den folgenden Abschnitten wird beschrieben, wie Sie Portal for ArcGIS zum Reverseproxyserver Ihrer Organisation hinzufügen.
Load Balancer auf Schicht 3/4: Hinzufügen von ArcGIS Web Adaptor- oder Portal for ArcGIS-Computern zur Load-Balancer-Konfiguration
Da der Proxyvorgang für den Datenverkehr zu den Back-End-Zielen über TCP erfolgt, sollte(n) der Computer für jede Site zur Load-Balancer-Konfiguration hinzugefügt werden. Bei der Verwendung von ArcGIS Web Adaptor sollten die Back-End-Ziele den Port des Webservers bzw. der Webserver (normalerweise 443 oder 8443) referenzieren, der den bzw. die Webadapter hostet. Wenn Sie den Datenverkehr direkt an Portal for ArcGIS weiterleiten, sollten die Back-End-Ziele den Port 7443 auf jedem Computer der Site referenzieren.
Load Balancer auf Schicht 7: Hinzufügen von ArcGIS Web Adaptor- oder Portal for ArcGIS-Computern zu den Proxyserver-Direktiven
Nach der Konfiguration von ArcGIS Web Adaptor mit Portal for ArcGIS kann ArcGIS Web Adaptor mit dem Reverseproxyserver der Organisation verwendet werden, indem die Komponenten direkt zu den Proxyserver-Direktiven hinzugefügt werden. Wenn Sie beispielsweise Apache als Reverseproxy verwenden, müssen Sie ArcGIS Web Adaptor zu den ProxyPass-Direktiven in der Apache-Webserver-Konfigurationsdatei httpd.conf hinzufügen:
ProxyPass /webadaptorname https://webadaptorhost.domain.com/webadaptorname
ProxyPassReverse /webadaptorname https://webadaptorhost.domain.com/webadaptorname
Die ProxyPass-Direktiven müssen mit dem für ArcGIS Web Adaptor festgelegten Namen übereinstimmen (im obigen Beispiel /webadaptorname). Wenn Sie ArcGIS Web Adaptor nicht vor Portal for ArcGIS verwenden, fügen Sie die folgenden Direktiven hinzu, wobei /context der ausgewählte URL-Pfad der obersten Ebene ist:
ProxyPass /context https://portal.domain.com:7443/arcgis
ProxyPassReverse /context https://portal.domain.com:7443/arcgis
Konfigurieren eines Portals für die Verwendung eines Reverseproxy oder Load Balancers
In den folgenden Abschnitten wird beschrieben, wie Sie Ihr Portal für die Verwendung der Reverseproxyserver-URL konfigurieren und welche administrativen Aufgaben Sie nach der Konfiguration der URL erneut ausführen müssen.
Festlegen der Eigenschaft WebContextURL
Mit der Eigenschaft WebContextURL des Portals kann es die richtigen URLs für alle Ressourcen erstellen, die an den Endbenutzer gesendet werden. Gehen Sie zum Ändern der Eigenschaft WebContextURL folgendermaßen vor:
- Öffnen Sie einen Webbrowser, und melden Sie sich als Mitglied der Standardadministratorrolle in Ihrer Portal-Organisation beim ArcGIS-Portalverzeichnis an. Die URL hat das Format https://portal.domain.com:7443/arcgis/portaladmin.
- Klicken Sie auf System > Properties > Update Properties.
- Geben Sie im Dialogfeld Update System Properties den folgenden JSON-Code ein, und geben Sie dabei die URL Ihres eigenen Reverseproxyserver oder DNS-Alias ein, wie sie Benutzern außerhalb der Firewall der Organisation angezeigt werden.
{ "WebContextURL": "https://dnsalias.domain.com/portal" }
Hinweis:
Portal for ArcGIS unterstützt nur einen DNS.
Hinweis:
Beim Festlegen der Eigenschaft WebContextURL können Sie nur den Standardport verwenden (d. h. keinen anderen Port als Port 443).
- Klicken Sie auf Update Properties.
Wiederholen von Verwaltungsaufgaben
Nachdem Sie den Reverseproxyserver mit dem Portal konfiguriert haben, greifen Sie zukünftig über die Reverseproxyserver-URL und nicht mehr über die ArcGIS Web Adaptor-URL auf das Portal zu. Alles, worauf in der Portal-Website oder im ArcGIS-Portalverzeichnis zugegriffen wird, gibt die Reverseproxyserver-URL zurück.
Die folgenden administrativen Aufgaben müssen mit der Reverseproxyserver-URL erneut ausgeführt werden:
Wenn Sie zuvor gesicherte Services als Elemente in dem Portal hinzugefügt haben, müssen Sie die ursprünglichen Elemente löschen und erneut hinzufügen. Dies liegt daran, dass die ursprünglichen Elemente die ArcGIS Web Adaptor-URL anstelle der Reverseproxyserver-URL verwenden. Weitere Anweisungen finden Sie unter Herstellen einer Verbindung mit gesicherten Services.
Nachdem Sie den Reverseproxyserver für das Portal konfiguriert haben, müssen Sie möglicherweise seine Einstellungen anpassen. Wenn z. B. Vorgänge oder Anforderungen in Ihrer Bereitstellung fehlschlagen und in der Fehlermeldung angegeben wird, dass das Zeitlimit der Verbindung überschritten wurde, ist möglicherweise der Timeout-Wert des Reverseproxyservers zu niedrig. Zum Beheben dieses Fehlers sollten Sie den Timout-Wert erhöhen, damit Anforderungen mit langer Ausführungsdauer, z. B. das Verbinden mit einem Server, abgeschlossen werden können.