Skip To Content

Verwenden eines Reverseproxyservers mit ArcGIS-Server

Ein Reverseproxyserver ist ein Computer, der 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 eine 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 Systemdiagnose in der ArcGIS-REST-API.

Hinzufügen von ArcGIS-Server zum Reverseproxyserver

ArcGIS-Server und ArcGIS Web Adaptor können mit dem Reverseproxyserver der Organisation verwendet werden, indem die Komponenten direkt zu den Proxy-Direktiven hinzugefügt werden. Wenn Sie beispielsweise Apache als Reverseproxyserver verwenden, müssen Sie ArcGIS-Server zu den ProxyPass-Direktiven in der Apache-Webserver-Konfigurationsdatei httpd.conf hinzufügen:

ProxyPass /arcgis http://gisserver.domain.com:6080/arcgis
ProxyPassReverse /arcgis http://gisserver.domain.com:6080/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. ArcGIS-Server kann so besser die korrekten URLs auf allen Ressourcen, die an den Endbenutzer gesendet werden, erstellen. Gehen Sie zum Ändern der Eigenschaft WebContextURL folgendermaßen vor:

  1. Melden Sie sich mit Administratorrechten unter http://gisserver.domain.com:6080/arcgis/admin beim ArcGIS Server Administrator Directory an.
  2. Klicken Sie auf system > properties > update.
  3. 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": "http://gisserver.domain.com/mygis"
    }
  4. Klicken Sie auf Update.
  5. 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

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 Service-Verzeichnis von ArcGIS-Server (http://reverseproxy.domain.com/arcgis/rest/services) wird als dieselbe URL an den Client zurückgegeben.

Wenn die Kopfzeileneigenschaft X-Forwarded-Host nicht festgelegt wird, geben ArcGIS-Server und ArcGIS Web Adaptor möglicherweise die URL des internen Computers zurück, an den die Anforderung gesendet wurde, z. B. http://gisserver.domain.com/arcgis/rest/services statt http://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. Apache führt hierzu beispielsweise die Konfiguration mit der ProxyPreserveHost On-Direktive durch:

...
ProxyPreserveHost On ProxyPass /arcgis http:///arcgis ProxyPassReverse /arcgis http:///arcgis
...

Hilfe zum Weiterleiten der ursprünglichen Host-Kopfzeile finden Sie in der Produktdokumentation zu Ihrem Reverseproxyserver.