操作方法
本文适用于已在其环境中安装和配置 Survey123 网站的用户。 可以从 My Esri 网站下载适用于 Windows 和 Linux 操作系统的 Survey123 网站安装程序。 有关运行和配置安装的详细信息,请参阅以下文章:如何安装和配置 ArcGIS Survey123 网站。
Survey123 网站安装程序需要管理员在本地基础架构上配置软件包时指定 HTTP 或 HTTPS 端口。 默认情况下,可通过 HTTP (5080) 或 HTTPS (5443) 端口访问 Survey123 网站。 但是,某些用户需要一种使用标准 HTTP (80) 或 HTTPS (443) 端口访问网站的方法。 尽管可以通过在 ArcGIS Enterprise 中使用用于门户或服务器的 ArcGIS Web Adaptor 来完成此操作,但 Survey123 网站安装程序依赖于反向代理来完成此操作。 反向代理是一种通用过程,它允许通过其他端口或服务器访问网站。
本文介绍了为已安装的 ArcGIS Survey123 网站设置反向代理的步骤,请参阅以下适用于您的操作系统的部分。
警告: 请咨询系统管理员,以了解这种方法是否适合您的环境。
Windows:
要求
过程
<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>
<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>
Linux
要求:
由于存在许多 Linux 发行版,因此配置反向代理的过程略有不同。 这些说明是通过反向代理访问已安装的 Survey123 网站的基本“最低要求”,涵盖 ArcGIS Enterprise 10.8.x 支持的 3 个 Linux 发行版:Red Hat Enterprise Linux (RHEL) Server、SUSE Linux Enterprise Server (SLES) 和 Ubuntu Server。
过程
sudo getsebool httpd_can_network_connect
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
RHEL - 创建一个配置文件以加载模块:
sudo vim /etc/httpd/conf.modules.d/00-survey123.conf
# 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 - 使用以下方法单独启用模块:
sudo a2enmod proxy sudo a2enmod proxy_http sudo a2enmod filter sudo a2enmod substitute
sudo vim /etc/httpd/conf.d/survey123.conf
SLES - 示例:
sudo vim /etc/apache2/vhosts.d/survey123.conf sudo vim /etc/apache2/vhosts.d/survey123-ssl.confUbuntu - 使用默认站点配置文件的示例:
sudo vim /etc/apache2/sites-available/000-default.conf sudo vim /etc/apache2/sites-available/default-ssl.conf
# ------------------------------------ # Survey123 reverse proxy configuration # Enable ProxyPreserveHost - useful for application logging ProxyPreserveHost On # ------------------------------------ # Configure the reverse proxy. Use either A. or B. # ------------------------------------ # 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 # ------------------------------------
RHEL
sudo systemctl restart httpd
SLES/Ubuntu
sudo systemctl restart apache2
https://some-machine.domain/survey123
获取来自 ArcGIS 专家的帮助
下载 Esri 支持应用程序