Konfigurieren eines Reverseproxys für ArcGIS Mission Server

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 Mission 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. Navigieren Sie dazu beispielsweise zu https://machine.domain.com:20443/arcgis/rest/info/healthcheck.

Hinweis:

Ab Enterprise-Version 10.9 können Administratoren Apache HTTPD nahtloser mit ArcGIS Mission Server konfigurieren. Administratoren können jetzt über den Endpunkt "Generate Proxy Configuration" der Admin-API eine Apache-Proxy-Konfigurationsdatei generieren.

Generieren einer Proxy-Konfiguration

Administratoren können jetzt über die Admin-API von ArcGIS Mission Server Apache HTTPD konfigurieren.

  1. Melden Sie sich beim ArcGIS Mission Server-Administratorverzeichnis unter https://machine.domain.com:20443/arcgis/admin/proxyGen als Benutzer mit Administratorberechtigungen an.
  2. Geben Sie den Wert Top Context des Reverseproxys ein. Wenn Sie z. B. topcontext eingeben, leiten Proxydirektiven Anforderungen an https://my.reverse.proxy/topcontext weiter. Dieser Kontext wird verwendet, um die Proxydirektiven zu schreiben und Anforderungen entsprechend dem Protokoll und Kontext weiterzuleiten.
  3. Aktivieren Sie das Kontrollkästchen Set Context URLs, um beim Senden der Anforderung automatisch die entsprechende WebContextURL- und WebSocketContextURL-Systemeigenschaft von ArcGIS Mission Server festzulegen.
  4. Geben Sie für Proxy FQDN den vollständig qualifizierten Domänennamen (FQDN) des Reverseproxys ein. Wenn Sie z. B. my.reverse.proxy eingeben, leiten Proxydirektiven Anforderungen an https://my.reverse.proxy/topcontext weiter.
  5. Wählen Sie unter Format eine Ausgabe aus.
  6. Das Standardausgabeformat ist html. Sie können jedoch festlegen, dass die Konfigurationsdatei im json- oder file-Format ausgegeben wird.
  7. Klicken Sie auf Senden.

    Sie haben erfolgreich eine Apache HTTPD-Konfigurationsdatei generiert und die entsprechenden ContextURL-Systemeigenschaften festgelegt. Anschließend müssen Sie die in dieser Datei angezeigten Informationen lesen und ggf. auf den Apache HTTPD-Proxy anwenden. Lesen Sie hierzu die Dokumentation der betreffenden Distribution.

Manuelles Hinzufügen von ArcGIS Mission Server zu einem Reverseproxyserver

Sie können den Reverseproxyserver Ihrer Organisation für die direkte Kommunikation mit ArcGIS Mission Server konfigurieren, indem Sie den Proxy-Direktiven die entsprechenden URLs hinzufügen.

Um einen Apache HTTP-Server als Reverseproxy zu konfigurieren, aktivieren Sie die Apache-Module mod_ssl, mod_proxy, mod_proxy_http und mod_proxy_wstunnel. Informationen zum Aktivieren von Apache-Modulen finden Sie in der Dokumentation von Apache zu den plattformspezifischen Konfigurationsspeicherorten, wie zum Beispiel:

LoadModule ssl_module modules/mod_ssl.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

Um die Konfiguration eines Apache HTTP-Servers als Reverseproxy abzuschließen, müssen eine Kombination von ProxyPass- und ProxyPassMatch-Direktiven sowie die richtigen SSL-Einstellungen festgelegt werden. ArcGIS Mission Server verwendet HTTPS. Demzufolge muss SSL für Apache HTTPS Server so konfiguriert werden, dass dasselbe Zertifikat verwendet wird, das auch in ArcGIS Mission Server hochgeladen wurde:

##
## SSL Virtual Host Context
##
<VirtualHost _default_:443>
 
## Enable Proxy for SSL
SSLProxyEngine on
 
## If using a self-signed certificate on ArcGIS Mission Server, disable strict
## certificate verification
SSLProxyVerify none
 
## Proxy ArcGIS Mission Server URLs to the proper backend ports
## The order of these directives are important.

ProxyPass /topcontext/missions/ wss://machine.domain.com:20301/arcgis/missions/ disablereuse=On

ProxyPass /topcontext/ https://machine.domain.com:20443/arcgis/
ProxyPassReverse /topcontext/ https://machine.domain.com:20443/arcgis/
 
## Use the same SSL Certificate and Key as ArcGIS Mission Server
## (adjust path to your specific certificate locations)
SSLCertificateFile    /path/to/arcgis/mission/<server_cert>.pem
SSLCertificateKeyFile /path/to/arcgis/mission/<private_key>.pem
 
## End of ArcGIS Mission Server reverse proxy config                         https://machine.domain.com:20443/arcgis/

Um ArcGIS Mission Server die Erstellung von WebSocket-Kommunikation mit Clients zu ermöglichen, müssen die ArcGIS Mission Server WebContextURL und die WebSocketContextURL-Systemeigenschaften festgelegt werden. Damit kann ArcGIS Mission Server die richtigen URLs für alle Ressourcen erstellen, die an den Endbenutzer gesendet werden. Gehen Sie zum Ändern der Eigenschaften WebContextURL und WebSocketContextURL folgendermaßen vor:

  1. Melden Sie sich beim ArcGIS Mission Server-Administratorverzeichnis unter https://machine.domain.com:20443/arcgis/admin als Benutzer mit Administratorberechtigungen 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 Mission Server-URL, die Benutzern außerhalb der Firewall der Organisation angezeigt wird:
    {
       "WebContextURL": "https://machine.domain.com/mygis",
    "WebSocketContextURL":"wss://machine.domain.com/mygis"
    }
  4. Klicken Sie auf Aktualisieren.