您的位置:首页 > 运维架构 > 反向代理

Howto: 如何通过IIS7为ArcGIS Server配置反向代理系统架构

2013-10-10 14:12 471 查看
[b]Howto: 如何通过IIS7为ArcGIS Server配置反向代理系统架构[/b]

摘要:

这篇文章提供了如何使用IIS7的两个扩展模块:Application Request Routing(ARR)和URL Rewrite为ArcGIS Server 配置反向代理的详细描述。仅有Windows Server 2008的IIS7上是支持ARR和URL Rewrite的。这两个扩展在早期版本的Windows IIS上的是不支持的。虽然外部的反向代理服务器必须Windows Server 2008, 但是内部服务器可以是ArcGIS Server 9.3支持的任何操作系统。

关于为何要使用反向代理架构的详细描述可以参阅:
How to: Configure a reverse proxy system architecture with ArcGIS Server

声明:

虽然文档中内部的ArcGIS Server服务器是针对Windows 操作系统的,但是绝大多数的原则同样适用于UNIX/Linux系统。

在配置ArcGIS Server .NET和Java版本的不同之处已经明确的标识出来。

试验:

本人的试验中使用window7做反向代理Web服务器机器名为“myExternalServer”(192.168.14.189-microso-lk029mm),使用Windows Server 2008做内部机器名为“myInternalServer”(10.0.0.28-win-fzr5tcqy0pf),

内容:

接下来的内容将详细描述ArcGIS Server和IIS7的配置过程,以使ArcGIS Server Web 服务和ADF应用基于反向代理工作。

为了方便讲解,在这里定义ArcGIS Web services和ADF应用所在的内部机器名为“myInternalServer”,反向代理Web服务器机器名为“myExternalServer”,ArcGIS Server的实例名为”ArcGIS”。这些名称可根据实际情况替换为实际的服务器名和实例名。对于外部服务器使用完全合格域名(FQDN),例如,myExternalServer.esri.com, 以便Internet用户能够访问服务器并且任何SSL证书都可以适当解析。

开始以前,确保:

A) 外部服务器可以连接到内部服务器。步骤查看 >>

外部服务器可以连接到内部服务器的步骤

/proxyoutput
/proxycache
/proxyjobs
/arcgis/services
/arcgis/rest
/arcgis/kml
/arcgis/wms
/arcgis/SDK
/arcgis/tokens
/aspnet_client
如果ASP.NET Web 应用运行在外部服务器,添加替换 / /aspnet_client/ESRI
/MyWebAdfApplication (每个web 应用一个规则)


对于.NET版本的目录添加规则,参考
对于Java版本的目录添加规则,参考 >>,自己查看文章来源——如何通过IIS7为ArcGIS Server配置反向代理系统架构

(i) 在活动面板的URL重写面板,单击“添加规则…”

(ii) 在添加规则对话框,选择“空白规则”,并单击确定。

(iii) 在显示的编辑规则面板中,输入规则的名称。这个名字并不公开使用,但是应该很容易识别,例如,ReverseProxyOutput。设置“请求的URL”为“与模式匹配”,并且使用通配符(正则表达式可被用于匹配目录,但是在这并没给出目录)。

(iv) 输入模式,它应该是通配符字符目录。例如,对于proxyoutput目录,输入proxyoutput*. 不要使用胡乱的字符开始路径。建议参考上面链接中的.NET或Java版目录列表。选中“忽略大小写”选项,除非请求应该是大小写敏感的。

(v) 设置操作为“路由到操作场”。确认,操作属性中显示的是已经创建的反向代理的服务器场名(例如,AGSReverseProxy)。在这里服务器场被用作假冒-URL,实际的位置是早前添加到服务器场的计算机。保留路径“/{R:0}”, 这意味着URL路径将被传递到反向代理。选中选项“停止处理后续规则”。

(vi) 为了保存规则,单击IIS 管理器右侧操作面板中的“应用”。
为应该代理的每一个目录执行步骤(i)到(vi)。
在离开URL重写规则列表前,检查是否有一个以_loadbalace 结尾的规则已经被添加(当使用URL重写被激活时,ARR扩展可能会添加它)。如果是这样,单击选择,然后在操作面板中“禁用”这个规则。这个规则如果有效,将会传递所有的通信到后端服务器,而不仅仅是上面定义规则的请求。

试验: 本人的试验中使用



8、 ArcGIS Server web 服务(SOAP和REST)现在可以通过下面的URLs访问:

SOAP: http://myExternalServer/arcgis/services REST: http://myExternalServer/arcgis/rest/services

参考文章:

如何通过IIS7为ArcGIS Server配置反向代理系统架构:http://support.esrichina-bj.cn/2008/1203/983.html

用IIS配置反向代理:/article/3536183.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: