背景
处于安全,负载均衡,访问加速等原因会对服务器启用反向代理。arcgis for server的默认的访问地址为http://server:6080/arcgis。这个时候端口和实例名都暴露了。可以通过配置反向代理来保护。
本文通过apache作为反向代理服务器,来配置反向代理,对外暴露端口8080,且实例修改为mygis。
安装环境
- windows 10
- apache 2.4 AppacheHaus
- ArcGIS Server、portal 10.3.1
Apache的安装配置
- Apache的官网,下载Apache 2.4发行版。Apache的版本号下,有许多个版本名,如AppacheHaus, xampp傻傻的分不清楚。
- 将下载的目录放置在根目录。不放置根目录创建服务的时候会报错。
- cd 到bin目录创建Apache服务
httpd.exe -k install
通过上面会创建一个默认名字的Apache的服务,也可以在后面加上-n “name”创建一个指定名字的服务。在services.msc中可以看到服务。
4. 启动或者停止Apache服务,可以通过如下命令行或者在服务管理器中启动
httpd.exe start/stop
- 启动Apache反向代理模块
apahce 默认的反向代理module是没有启用的。需要更改配置文件。
-
打开httpd.conf 文件
-
将如下两个模块的签名的#号删除,启用两个模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so -
http.conf 文件下面如下代码
ProxyPass /mygis http://jiangmb.portal.com:6080/arcgis ProxyPassReverse /mygis http://jiangmb.portal.com:6080/arcgis
Apache的默认的http的端口为80,https的端口为443。由于这两个端口被其他web服务器占用。需要更改端口。更改443端费半天劲没有成功,最后发现配置文件,改错了,此处该感谢赛总。正确步骤如下
- 更改80 端口修改 httpd.conf 将Listen 80 更改成其他端口。
- 443端口。需要修改httpd-ahssl.conf 文件。将里面所有的443替换成其他端口。
Server/portal的安装配置
ArcGIS server 端配置如下:
登录admin,点击【system】-【properites】-【update】,在properties对话框中添加如下json
{
"WebContextURL": "http://gisserver.domain.com/mygis"
}
通过上面的配置,在浏览器中输入http://jiangmb.portal.com:8080/mygis 可以访问到arcgis for server了。有效的将真正的服务器进行隐藏了。
portal中的配置同理可证。
当然使用webadaptor就更为方便了。