Deutsch

How To: Einrichten eines Reverse-Proxys für eine installierte ArcGIS Survey123-Website

Zusammenfassung

Dieser Artikel richtet sich an Benutzer, die bereits die Survey123-Website in ihrer eigenen Umgebung installiert und konfiguriert haben. Das Programm zum Installieren der Survey123-Website kann von der Website My Esri für die Betriebssysteme Windows und Linux heruntergeladen werden. Weitere Informationen zum Ausführen und Konfigurieren der Installation finden Sie im Artikel How To: Installieren und Konfigurieren der ArcGIS Survey123-Website.

Im Installationsprogramm der Survey123-Website müssen Administratoren beim Konfigurieren des Pakets in der lokalen Infrastruktur bestimmte HTTP- oder HTTPS-Ports angeben. Standardmäßig ist die Survey123-Website über HTTP-Port 5080 oder HTTPS-Port 5443 zugänglich. Bestimmte Benutzer benötigen aber eine Möglichkeit zum Zugriff auf die Website über den normalen HTTP-Port 80 oder HTTPS-Port 443. Während dies mit ArcGIS Web Adaptor für Portal oder Server in ArcGIS Enterprise erfolgen kann, wird im Installationsprogramm der Survey123-Website dafür ein Reverseproxy verwendet. Ein Reverseproxy ist die generische Prozedur, die den Zugriff auf eine Website über einen anderen Port oder Server ermöglicht.

In diesem Artikel werden die Schritte zum Einrichten eines Reverseproxys für eine installierte ArcGIS Survey123-Website beschrieben. Lesen Sie unten den Abschnitt für Ihr Betriebssystem.

Vorgehensweise

Warnung: Wenden Sie sich an den Systemadministrator, um zu erfahren, ob dieser Ansatz für Ihre Umgebung geeignet ist.

Windows:
Anforderungen

  • Ein Webserver, auf dem IIS ausgeführt wird. Idealerweise ist dies derselbe Webserver, auf dem die ArcGIS Web Adaptor-Instanzen installiert wurden. Dies bietet den Vorteil, dass sich nicht um die ursprungsübergreifende gemeinsame Nutzung von Ressourcen (Cross-Origin Resource Sharing, CORS) mit der Enterprise-Installation gekümmert werden muss. Hinweis: Sie benötigen administrativen Zugriff auf diesen Webserver.
  • Installieren Sie das IIS-URL-Rewrite-Modul. Stellen Sie sicher, dass das IIS-URL-Rewrite-Modul auf Ihrem Webserver installiert ist.
  • Installieren Sie das IIS-ARR-Modul zum Routing von Anwendungsanforderungen (Application Request Routing). Stellen Sie sicher, dass das IIS-ARR-Modul ebenfalls auf dem Webserver installiert ist. Nach der Installation müssen Sie die Proxy-Funktionalität aktivieren, da sie standardmäßig deaktiviert ist:
  1. Öffnen Sie IIS Manager auf dem Webserver.
  2. Wählen Sie Ihren Server in der Strukturansicht auf der linken Seite aus.
  3. Doppelklicken Sie auf Application Request Routing.
  4. Wählen Sie Server Proxy Settings im Fenster Actions auf der rechten Seite aus.
  5. Aktivieren Sie das Kontrollkästchen Enable Proxy, und klicken Sie auf Apply.

Vorgehensweise

  1. Öffnen Sie IIS Manager auf dem Webserver.
  2. Erweitern Sie den Eintrag Sites auf der linken Seitenleiste, und wählen Sie die Site aus, von der aus auf Survey123 zugegriffen werden soll. In vielen Fällen ist dies die Standardwebsite (Default Web Site). Klicken Sie mit der rechten Maustaste auf die Site, und wählen Sie Explore aus, um ein Fenster mit Internetoptionen zu öffnen.
  3. Erstellen Sie einen neuen Ordner, und geben Sie ihm den Namen survey123. Dieser Ordner ist der Zugriffspunkt für Survey123.
  4. Laden Sie die Datei "web.config.zip", herunter, extrahieren Sie die Datei "web.config", und kopieren Sie sie in diesen neuen Ordner. Sie können auch einen alternativen Namen für diesen Ordner wählen, müssen dann aber daran denken, den entsprechenden Wert in der Datei "web.config" in einem Texteditor manuell zu ändern. Dies wird im folgenden Beispiel gezeigt:
<outboundRules>   <rule name="update base tag" preCondition="isHTML">     <match filterByTags="Base" pattern="^/(.*)" />     <action type="Rewrite" value="/survey123/" />     <conditions trackAllCaptures="false">       <add input="{URL}" pattern="/" />     </conditions>   </rule>   <preConditions>     <preCondition name="isHTML">       <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />     </preCondition>   </preConditions> </outboundRules>
  1. Wenn die Survey123-Website nicht auf dem Computer installiert wurde, auf dem der Reverseproxy konfiguriert wird (oder der HTTP-Port für die Survey123-Website geändert wurde), dann aktualisieren Sie den Servernamen im Abschnitt mit den eingehenden Regeln ("inboundrules") der Datei web.config. Andernfalls lassen Sie die URL wie im folgenden Beispiel unverändert: http://localhost:5080/
<rules>   <clear />     <rule name="ReverseProxyHTML" stopProcessing="false">       <match url="(^$|.*\.html$)" />       <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />       <action type="Rewrite" url="http://localhost:5080/{R:1}" />       <serverVariables>         <set name="HTTP_X_ORIGINAL_ACCEPT_ENCODING" value="{HTTP_ACCEPT_ENCODING}" />         <set name="HTTP_ACCEPT_ENCODING" value="" />       </serverVariables>     </rule>     <rule name="ReverseProxyInboundRule1" stopProcessing="true">       <match url="(.*)" />         <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />         <action type="Rewrite" url="http://localhost:5080/{R:1}" />     </rule> </rules>
  1. Schließen Sie das Fenster mit den Internetoptionen. Klicken Sie in IIS Manager mit der rechten Maustaste auf die Site, und klicken Sie auf Refresh, um den neuen Ordner anzuzeigen.
  2. Wählen Sie den Ordner aus.
  3. Doppelklicken Sie im Abschnitt "IIS" der Konfigurationseigenschaften auf URL Rewrite.
  4. Klicken Sie im Bereich URL Rewrite Actions auf View Server Variables.
  5. Klicken Sie unter dem Fenster Actions auf der rechten Seite auf Add, und fügen Sie zwei Variablen hinzu.
    • HTTP_ACCEPT_ENCODING (wird in der Dropdown-Liste angezeigt)
    • HTTP_X_ORIGINAL_ACCEPT_ENCODING
  6. Klicken Sie auf Back to Rules.
  7. Greifen Sie mit der Basis-URL und dem Reverseproxy-Zugriffspunkt auf die installierte Survey123-Website zu.

Linux
Anforderungen:
Aufgrund der Vielzahl von Linux-Distributionen ist das Verfahren zum Konfigurieren eines Reverseproxys jeweils etwas unterschiedlich. Diese Anweisungen sind eine Mindestgrundlage für den Zugriff auf die installierte Survey123-Website über einen Reverseproxy, und beziehen sich auf die drei von ArcGIS Enterprise 10.8.x unterstützten Linux-Distributionen: Red Hat Enterprise Linux (RHEL) Server, SUSE Linux Enterprise Server (SLES) und Ubuntu Server.

  • Ein Webserver, auf dem Apache ausgeführt wird. Idealerweise ist dies derselbe Webserver, auf dem Ihre ArcGIS Web Adaptor-Instanzen installiert sind. Dies bietet den Vorteil, dass sich nicht um die ursprungsübergreifende gemeinsame Nutzung von Ressourcen (Cross-Origin Resource Sharing, CORS) mit der Enterprise-Installation gekümmert werden muss. Hinweis: Sie benötigen administrativen Zugriff auf diesen Webserver.
  • Konfigurieren Sie Apache mit SSL. Dies ist optional, wird jedoch dringend empfohlen.

Vorgehensweise

  1. *Nur RHEL – Überprüfen Sie, ob der HTTPD-Service Netzwerkverbindungen erstellen kann:
sudo getsebool httpd_can_network_connect
  • Wenn er deaktiviert ist, führen Sie folgenden Code aus:
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
  1. Laden Sie die erforderlichen Module.

RHEL – Erstellen Sie eine Konfigurationsdatei zum Laden der Module:

sudo vim /etc/httpd/conf.modules.d/00-survey123.conf
  • Kopieren Sie den folgenden Code, und fügen Sie ihn in die Datei ein:
# This file configures all the modules needed for the Survey123 website: LoadModule proxy_module modules/mod_proxy.so LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule filter_module modules/mod_filter.so LoadModule substitute_module modules/mod_substitute.so

SLES / Ubuntu – Aktivieren Sie die Module einzeln, indem Sie folgenden Code verwenden:

sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod filter sudo a2enmod substitute
  1. Erstellen / Bearbeiten Sie Ihre Survey123-Site-Konfigurationsdatei(en), um die Reverseproxy-Direktiven hinzuzufügen.
RHEL – Beispiel:
sudo vim /etc/httpd/conf.d/survey123.conf

SLES  – Beispiel:

sudo vim /etc/apache2/vhosts.d/survey123.conf sudo vim /etc/apache2/vhosts.d/survey123-ssl.conf
Ubuntu – Beispiel für die Verwendung der Standard-Site-Konfigurationsdateien:
sudo vim /etc/apache2/sites-available/000-default.conf sudo vim /etc/apache2/sites-available/default-ssl.conf
  1. Kopieren Sie die folgenden Reverseproxy-Direktiven, und fügen Sie sie in die Datei ein (denken Sie daran, Abschnitt A oder B auszukommentieren, je nachdem, ob Sie HTTP oder SSL verwenden):
# ------------------------------------ # Survey123 reverse proxy configuration # Enable ProxyPreserveHost - useful for application logging ProxyPreserveHost On # ------------------------------------ # Configure the reverse proxy. Entweder A. oder B verwenden. # ------------------------------------ # A. Reverse proxy over HTTP ProxyPass /survey123 http://localhost:5080 ProxyPassReverse /survey123 http://localhost:5080 # B. Reverse proxy over SSL:  # SSLProxyEngine on # These SSLProxy statements may be needed if Survey123 is using an untrusted certificate # SSLProxyVerify none # SSLProxyCheckPeerName off # SSLProxyCheckPeerCN off # SSLProxyCheckPeerExpire off # ProxyPass /survey123 https://localhost:5443 # ProxyPassReverse /survey123 https://localhost:5443 # ------------------------------------ # Filter & update the <base> tag in HTML <Location "/survey123">               AddOutputFilterByType SUBSTITUTE text/html                Substitute 's#"/"#"/survey123/"#ni' </Location> # End Survey123 reverse proxy configuration # ------------------------------------
  1. Starten Sie Apache neu.

RHEL

sudo systemctl restart httpd

SLES / Ubuntu

sudo systemctl restart apache2
  1. Greifen Sie mit der Basis-URL und dem Reverseproxy-Zugriffspunkt auf die installierte Survey123-Website zu, z. B.:
https://Computername.Domäne/survey123

Referenzinformationen

Zuletzt geändert: 4/27/2022

Artikel-ID: 000023967

Software: Portal for ArcGIS 10.9.1, 10.9