Dies ist die archivierte Dokumentation einer früheren Version von Esri Maps for MicroStrategy. Die aktuelle Dokumentation finden Sie unter http://doc.arcgis.com/en/maps-for-microstrategy/.
Unter Umständen verwendet Esri Maps for MicroStrategy 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 MicroStrategy 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 MicroStrategy.
Wenn sich Esri Maps for MicroStrategy 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.
Die meisten modernen Browser verwenden den empfohlenen Standard, CORS (Cross-Origin Resource Sharing). 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 MicroStrategy erkennt automatisch Server, die CORS (Cross-Origin Resource Sharing) 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 MicroStrategy internen Proxy geroutet, selbst wenn es sich um einen CORS-fähigen Server handelt. Als Esri Maps for MicroStrategy-Administrator können Sie die URLs bekannter CORS-fähiger Server in der Esri Maps for MicroStrategyKonfigurationsdatei (settings.js) auflisten, um sicherzustellen, dass alle von diesen Rechnern ausgehenden Aufrufe automatisch als CORS-fähig behandelt werden und somit den Proxy umgehen.
So legen Sie CORS-fähige Server fest:
Unter Windows befindet sich die Konfigurationsdatei im folgenden Verzeichnis: <MicroStrategy plugin directory>\em4mstr\JavaScript\configuration\settings.js
Unter Linux befindet sich die Konfigurationsdatei im folgenden Verzeichnis: <MicroStrategy plugin directory>/em4mstr/JavaScript/configuration/settings.js
Jede URL muss in Anführungszeichen stehen; mehrere URLs werden durch Kommas abgetrennt.
Beispiel: corsEnabledServers: ["mapserver.mycompany.com", "otherserver.othercompany.com"]
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.config) befindet sich im Proxy-Verzeichnis für Ihre Umgebung:
Das Standardverzeichnis ist C:\Program Files (x86)\MicroStrategy\Web ASPx\plugins\em4mstr\asp\proxy.config.
Wenn Sie beispielsweise eine Installation auf Tomcat ausführen, lautet das Standardverzeichnis Tomcat/webapps/MicroStrategy/plugins/em4mstr/jsp/proxy.config.
Zum Definieren der URLs, auf die Esri Maps for MicroStrategy zugreifen darf, geben Sie jede einzelne URL in einem separaten untergeordneten serverUrl-Element an. Erstellen Sie für jeden Server, auf den Esri Maps for MicroStrategy zum Abrufen von Kartenservices zugreifen muss, ein separates serverUrl-Element.
Beispiel:<ProxyConfig mustMatch = "true">
<serverUrls>
<serverUrl url="http://www.arcgis.com"/>
<serverUrl url=”http://geoenrich.arcgis.com”/>
<serverUrl url=”http://geocode.arcgis.com”/>
<serverUrl url=”http://gis.mycompany.com/arcgis/rest/services”/>
</serverUrls>
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 MicroStrategy ausginge.
Für ASP.NET-Konfigurationen: http://Your_IIS_SERVER_URL.com/MicroStrategy/plugins/em4mstr/asp/proxy.ashx?www.TEST_URL.com
Für J2EE-Konfigurationen: http://Your_JSP_SERVER_URL.com/MicroStrategy/plugins/em4mstr/jsp/proxy.jsp?http://www.TEST_URL.com
So sollte beispielsweise jede der folgenden URLs ein JSON-Objekt zurückgeben, aus dem die Version der auf dem Server installierten Software hervorgeht.
Beispielsweise sollte jede der folgenden URLs ein JSON-Objekt zurückgeben, aus dem die Version der auf dem Server installierten Software hervorgeht:
Ist das erhaltene Ergebnis richtig, sind Ihre Proxys ordnungsgemäß konfiguriert und funktionieren wie erwartet.
Wenn Esri Maps for MicroStrategy 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.
Der Upstream-Proxy selbst ist eine von Dritten (nicht Esri) bereitgestellte Lösung auf Unternehmensebene. Er ist nicht Teil von Esri Maps for MicroStrategy.
Die Esri Maps for MicroStrategy-Proxy-Konfigurationsdatei enthält Elemente, 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.
http://<address>:<port>
Dabei gilt:
Beispiel:<useUpstreamProxy enabled = true>
http://proxy.mycompany.com:8888
</useUpstreamProxy>