Ein Reverseproxyserver ist ein Computer, der in einem Umkreisnetzwerk (auch demilitarisierte Zone [DMZ] oder überwachtes Subnetz genannt) bereitgestellt wird, das Anforderungen aus dem Internet bearbeitet und diese an die Computer im internen Netzwerk weiterleitet. Bei der Weiterleitung von Anforderungen maskiert der Reverseproxyserver die Computer hinter der Firewall der Organisation und schützt interne Computer somit vor direkten Angriffen durch Internetbenutzer. Um das interne Netzwerk vor externen Benutzern zu schützen, können zusätzliche Sicherheitsfunktionen in den Reverseproxyserver implementiert werden.
Wenn der Reverseproxyserver die Systemdiagnose unterstützt, können Sie den Endpunkt der Systemdiagnose von ArcGIS Server verwenden, um zu ermitteln, ob die Site 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 Health Check in der ArcGIS REST API.
Hinzufügen von ArcGIS Server zu Ihrem Reverseproxyserver
Der Reverseproxyserver Ihrer Organisation kann entweder für die direkte Kommunikation mit ArcGIS Server oder für die Kommunikation über ArcGIS Web Adaptor durch Hinzufügen der entsprechenden URLs zu den Proxy-Direktiven konfiguriert werden.
Wenn Sie beispielsweise Apache als Reverseproxyserver verwenden, müssen Sie die ArcGIS Server oder die ArcGIS Web Adaptor-URL zu den ProxyPass-Direktiven in der Apache-Webserver-Konfigurationsdatei httpd.conf hinzufügen:
Bei der Kommunikation über ArcGIS Web Adaptor
ProxyPass /server https://gisserver.domain.com/server
ProxyPassReverse /server https://gisserver.domain.com/server
Bei der direkten Kommunikation mit ArcGIS Server
ProxyPass /arcgis https://gisserver.domain.com:6443/arcgis
ProxyPassReverse /arcgis https://gisserver.domain.com:6443/arcgis
Wenn Sie einen Reverseproxyserver verwenden und die URL zu Ihrer Site nicht mit der Standardzeichenfolge /arcgis (alle in Kleinbuchstaben) endet, sollten Sie auch die WebContextURL-Eigenschaft von ArcGIS Server festlegen. Damit kann ArcGIS Server die richtigen URLs für alle Ressourcen erstellen, die an den Endbenutzer gesendet werden.
Hinweis:
Wenn Sie ArcGIS Web Adaptor für Ihre Site konfiguriert haben, können Sie mit der Eigenschaft WebContextURL die ArcGIS Server-URL so festlegen, dass sie der URL von ArcGIS Web Adaptor entspricht (z. B. /mygis). Ist kein Web Adaptor konfiguriert, sollte die Site-URL auf /arcgis enden, um potenzielle Probleme bei der URL-Weiterleitung zu vermeiden.
- Melden Sie sich am ArcGIS Server-Administratorverzeichnis unter https://gisserver.domain.com:6443/arcgis/admin als Benutzer mit Administratorberechtigungen an.
- Klicken Sie auf system > properties > update.
- Geben Sie in das Textfeld Properties das folgende JSON an und ersetzen Sie dabei Ihre eigene ArcGIS Server-URL, die Benutzern außerhalb der Firewall der Organisation angezeigt wird.
{ "WebContextURL": "https://gisserver.domain.com/mygis" }
- Klicken Sie auf Aktualisieren.
- Starten Sie ArcGIS Server auf jedem GIS-Server in der Site neu. Unter Linux führen Sie die Skripte stopserver und startserver im Installationsordner auf dem jeweiligen Computer aus.
Reverseproxykopfzeilen und ArcGIS Server
Es wird empfohlen, vor der Bereitstellung des Reverseproxyservers für ArcGIS Server oder ArcGIS Web Adaptor einige Header des Reverseproxys zu konfigurieren, um eine ordnungsgemäße Kommunikation sicherzustellen.
Der Reverseproxyserver muss Umleitungen erkennen können (HTTP-Code 301 oder 302). Aktualisieren Sie den Location-Header, um sicherzustellen, dass der vollständig qualifizierte Domänenname (Fully Qualified Domain Name, FQDN) und der Kontext der Antwort mit dem WebContextURL-Wert des Servers übereinstimmen.
X-Forwarded-Host
Beachten Sie beim Integrieren des Reverseproxys in ArcGIS Server oder ArcGIS Web Adaptor, dass für beide Komponenten die folgende Eigenschaft in der vom Reverseproxyserver gesendeten Kopfzeile festgelegt ist:
X-Forwarded-Host=<FQDN of reverse proxy server>
Wenn diese Eigenschaft in der Kopfzeile festgelegt ist, geben ArcGIS Server und ArcGIS Web Adaptor Anforderungen an den Reverseproxyserver zurück, die mit der URL des Reverseproxyservers übereinstimmen. Eine Anforderung an das ArcGIS Server-Services-Verzeichnis (https://reverseproxy.domain.com/arcgis/rest/services) wird beispielsweise als dieselbe URL an den Client zurückgegeben.
Wenn die Kopfzeileneigenschaft X-Forwarded-Host nicht festgelegt ist, geben ArcGIS Server und ArcGIS Web Adaptor möglicherweise die URL des internen Computers zurück, an den die Anforderung gerichtet war (z. B. https://gisserver.domain.com/arcgis/rest/services statt https://reverseproxy.domain.com/arcgis/rest/services). Dies ist problematisch, da Clients nicht auf diese URL zugreifen können (im Allgemeinen als Browserfehler 404 angegeben). Zudem verfügt der Client möglicherweise über Informationen zu dem internen Computer.
Bei der Problembehandlung im Zusammenhang mit der Kommunikation zwischen Clients und ArcGIS Server oder ArcGIS Web Adaptor wird empfohlen, die Kopfzeileneigenschaft X-Forwarded-Host im Reverseproxyserver festzulegen, da dies häufig die Ursache von Kommunikationsfehlern darstellt. Das Verfahren zum Festlegen dieser Kopfzeile ist je nach Implementierung des Reverseproxyservers unterschiedlich. In Apache wird dies beispielsweise durch die Anweisung ProxyPreserveHost On in der Konfiguration erzielt:
... ProxyPreserveHost On ProxyPass /server https://gisserver.domain.com/server ProxyPassReverse /server https://gisserver.domain.com/server
...
Hilfe zum Weiterleiten der ursprünglichen Host-Kopfzeile finden Sie in der Produktdokumentation zu Ihrem Reverseproxyserver.