Skip To Content

Arbeiten mit Proxys

Unter Umständen verwendet Esri Maps for IBM Cognos einen Mechanismus des internen Proxys zur Vermittlung der Kommunikation mit der ArcGIS Plattform (zusätzlich zu Web-Services, die durch abgerufene ArcGIS-Elemente referenziert werden). Bei Bedarf sendet Esri Maps for IBM Cognos HTTP-Anforderungen an den Proxy, der die Anforderungen an den Remote-Web-Server (z. B. ArcGIS) weiterleitet. Der Proxy leitet dann die Antwort weiter an Esri Maps for IBM Cognos.

Mechanismus des internen Proxys in

Wenn sich Esri Maps for IBM Cognos und alle damit verwendeten Daten und Web-Services auf der gleichen Domäne befinden oder wenn CORS (Cross-Origin Resource Sharing) sowohl vom Client-Browser als auch von allen Servern unterstützt wird, muss kein interner Proxy verwendet werden. Diese Konfiguration ist jedoch in den meisten Produktionsumgebungen eher unüblich, weswegen die Konfiguration eines internen Proxys empfohlen wird.

Festlegen CORS-fähiger Server (optional)

Die meisten modernen Browser verwenden den empfohlenen Standard, CORS. Der CORS-Standard fügt Kopfzeilen zur HTTP-Spezifikation hinzu, mit der Server die Herkunft der Anfrage feststellen kann, die wiederum über Berechtigungen zum Lesen von Ressourcen und Services mithilfe eines Webbrowsers verfügen.

Esri Maps for IBM Cognos erkennt automatisch Server, die CORS verwenden, und kann mit diesen Servern problemlos kommunizieren. In manchen Fällen wird die erste Anforderung (z. B. ein HTTP POST) jedoch automatisch über den Esri Maps for IBM Cognos internen Proxy geroutet, selbst wenn es sich um einen CORS-fähigen Server handelt. Als Esri Maps for IBM Cognos-Administrator können Sie die URLs bekannter CORS-fähiger Server in der Esri Maps for IBM CognosKonfigurationsdatei (settings.js) auflisten, um sicherzustellen, dass alle von diesen Positionen ausgehenden Aufrufe automatisch als CORS-fähig behandelt werden und somit den Proxy umgehen.

Hinweis:

Die unter der Eigenschaft corsEnabledServers gelisteten Server müssen für die Unterstützung von CORS vorkonfiguriert sein. Vergewissern Sie sich vor dem Hinzufügen einer Server-URL zu dieser Liste, ob der Server wirklich CORS-fähig ist. Sollte ein in diesen Einstellungen aufgeführter Server nicht CORS-fähig sein, wird die Kommunikation mit dem Esri Maps for IBM Cognos-Server fehlschlagen. Weitere Informationen finden Sie unter Aktivieren von Cross-Origin Resource Sharing.

Um CORS-fähige Server festzulegen, führen Sie die folgenden Schritte aus:

  1. Verwenden Sie einen Standard-Texteditor, um die Konfigurationsdatei der Anwendung zu öffnen.

    Die Konfigurationsdatei befindet sich im EM4C Gateway im folgenden Verzeichnis: <em4c_location>\webcontent\esrimap\configuration\settings.js

  2. Geben Sie in der Eigenschaft corsEnabledServers die URLs derjenigen Server an, die automatisch als CORS-fähig behandelt werden sollen.

    Jede URL muss in Anführungszeichen stehen; mehrere URLs werden durch Kommas abgetrennt.

    Beispiel: corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]

    Hinweis:

    Nicht in die Liste gehören Instanzen von Portal for ArcGIS, die Authentifizierung auf Webebene nutzen. In einer solchen Instanz erfolgt jedoch stets eine automatische Erkennung von CORS ohne Einbeziehung des Proxys.

  3. Speichern und schließen Sie die settings.js-Datei.

Konfigurieren des internen Proxys

Auch wenn der interne Proxy für die Arbeit mit einer minimalen benutzerdefinierten Konfiguration ausgelegt ist, können Sie seine Einstellungen dahingehend ändern, dass er nur Anforderungen bestimmter Server zulässt, d. h. Sie können die Ressourcen angeben, an die der Proxy Anforderungen weiterleiten soll.

Zum Konfigurieren der Einstellungen des internen Proxys ändern Sie die Proxy-Konfigurationsdatei mit einem beliebigen Texteditor.

Die Proxy-Konfigurationsdatei (proxy.conf) befindet sich im EM4C Gateway unter <em4c_location>\temp\proxy.conf.

Hinweis:

Sollte Ihre Esri Maps for IBM Cognos-Implementierung mehr als ein Gateway enthalten, muss die Proxy-Konfigurationsdatei für jedes Gateway aktualisiert werden. Die Einstellungen sollten in allen Gateways übereinstimmen.

Zum Definieren der URLs, auf die Esri Maps for IBM Cognos zugreifen darf, geben Sie jede einzelne URL in einer separaten serverUrl-Eigenschaft an. Erstellen Sie für jeden Server, auf den Esri Maps for IBM Cognos zum Abrufen von Kartenservices zugreifen muss, eine separate serverUrl-Eigenschaft.

Hinweis:

Bei Einstellung der Eigenschaft matchUrls auf true darf der Proxy nur auf die explizit aufgeführten Server zugreifen. Wird für diese Eigenschaft auf false eingestellt, hat der Proxy Zugriff auf beliebige Server und ignoriert die als serverUrl aufgelisteten Server.

Beispiel:

matchUrls = true
serverUrl = http://www.arcgis.com
serverUrl = https://arcgis.com
serverUrl = http://myserver.mycompany.com

Testen des Proxys

Leiten Sie zum Test des internen Proxys eine HTTP-Anforderung durch ihn hindurch. Wenn der Proxy den erwarteten Wert zurückgibt, funktioniert er ordnungsgemäß. Den folgenden Schritten können Sie Beispiele für Aufrufe entnehmen, die den HTTP-Datenverkehr simulieren, der vom Esri Maps for IBM Cognos ausginge.

  1. Um den Speicherort des internen Proxys von Esri Maps for IBM Cognos zu überprüfen, geben Sie seine URL in die Adresszeile eines Webbrowsers ein.

    http://myibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi

    Bei erfolgreichem Zugriff auf den internen Proxy wird auf der Seite ein Zeitstempel angezeigt, z. B. Thu Oct 02 07:34:52 PDT 2014. Sollten Sie nicht die erwartete Antwort erhalten, überprüfen Sie die Konfigurationseinstellungen Ihres internen Proxys.

  2. Überprüfen Sie, ob Sie sich mit einer bekannten Ressource verbinden können.

    So sollte beispielsweise jede der folgenden URLs ein JSON-Objekt zurückgeben, aus dem die Version der auf dem Server installierten Software hervorgeht.

    • ArcGIS Online: http://www.arcgis.com/sharing?f=pjson
    • Portal for ArcGIS-Instanz:http://myPortal/gis/sharing/?f=pjson

  3. Leiten Sie Datenverkehr durch den internen Proxy hindurch.

    Beispielsweise sollte jede der folgenden URLs ein JSON-Objekt zurückgeben, aus dem die Version der auf dem Server installierten Software hervorgeht:

    • ArcGIS Online: http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://www.arcgis.com/sharing?f=pjson
    • Portal for ArcGIS-Instanz:: http://ibmcognosserver/ibmcognos/em4c/cgi-bin/em4c.cgi?http://myPortal/gis/sharing/?f=pjson

    Hinweis:

    Wenn bei der Weiterleitung eines Aufrufs an den internen Proxy nicht das erwartete Ergebnis zurückgegeben wird, müssen Sie für den Zugriff auf die Ressourcen möglicherweise auf einen Upstream-Proxy zurückgreifen. Konfigurieren Sie in diesem Fall den Upstream-Proxy und führen Sie die in diesem Abschnitt genannten Tests erneut durch. Der interne Proxy wird den Datenverkehr durch den Upstream-Proxy hindurchleiten und das erwartete Ergebnis an den Webbrowser zurückgeben. Weitere Informationen finden Sie unter Konfigurieren eines optionalen Upstream-Proxys.

    Ist das erhaltene Ergebnis richtig, sind Ihre Proxys ordnungsgemäß konfiguriert und funktionieren wie erwartet.

Konfigurieren eines optionalen Upstream-Proxys

Wenn Esri Maps for IBM Cognos auf seinen internen Proxy zurückgreifen muss, dann muss dieser HTTP-Anforderungen an die vorgesehenen Zielressourcen (z. B. Kartenservices) weiterleiten können. In manchen Umgebungen wird das Versenden solcher Anforderungen durch Firewallregeln verhindert; so kann die Firewall beispielsweise den HTTP-Datenverkehr am Verlassen des internen Netzwerks hindern.

Zur Lösung dieses Problems können Sie einen Proxy für die Upstream-Weiterleitung konfigurieren.

Ein Upstream-Proxy lässt Verbindungen außerhalb des Netzwerks zu, ohne dass die Sicherheit des internen Netzwerks gefährdet wird. Häufig wird bei der Verwendung eines Upstream-Proxys ein Proxy-Server in einem Umkreisnetzwerk (auch demilitarisierte Zone [DMZ] oder überprüftes Subnetz genannt) platziert, um das interne Netzwerk zu schützen.

Platzieren des optionalen Upstream-Proxyservers in einem Umkreisnetzwerk (auch demilitarisierte Zone [DMZ] oder überprüftes Subnetz genannt) zum Schutz des internen Netzwerks

Der Upstream-Proxy ist eine von Dritten (nicht Esri) bereitgestellte Lösung auf Unternehmensebene. Er ist nicht Teil von Esri Maps for IBM Cognos.

Hinweis:

Esri Maps for IBM Cognos unterstützt keine Upstream-Proxyserver, die eine Authentifizierung erfordern.

Die Esri Maps for IBM Cognos-Proxy-Konfigurationsdatei enthält Eigenschaften, die Ihnen die Konfiguration eines Upstream-Proxys ermöglichen.

Zum Konfigurieren der Einstellungen des Upstream-Proxys ändern Sie die Proxy-Konfigurationsdatei mit einem Standard-Texteditor.

  1. Legen Sie die Eigenschaft für upStreamProxy auf true fest.
  2. Geben Sie die Eigenschaft für upStreamProxyUrl anhand der folgenden Regel an:
    http://<address>:<port>

    Dabei gilt:

    • address – Die Adresse des Proxyservers, z. B. proxy.mycompany.com
    • port – die dem Proxyserver zugewiesene Portnummer, z. B. 8888

    Beispiel:

    upStreamProxy = true
    upStreamProxyUrl = http://proxy.mycompany.com:8888

    Hinweis:

    Wenn Sie zur Angabe des Standorts des Proxyservers eine IP-Adresse verwenden, geben Sie keine führenden Nullen an; z. B. schreiben Sie 130.25.0.1 statt 130.025.000.001.

    Sollte Ihnen die Webadresse oder Portnummer Ihres Proxy-Servers nicht bekannt sein, wenden Sie sich bitte an Ihren Netzwerk-Administrator.

  3. Zum Testen des Upstream-Proxys leiten Sie eine Anforderung durch den internen Proxy, der den Aufruf dann durch den Upstream-Proxy routet. Weitere Informationen finden Sie unter Testen des Proxys.