32.3. 管理与配置

acp_isapi.properties文件中包含了所有Apusic -IIS 连接器的配置信息,此文件包含两部分内容:Apusic 服务器配置和URI 映射表。

可以使IIS同时和多个Apusic 服务器连接,你需要指定每个Apusic 服务器的主机名和 端口号,例如:

servers = foo,bar
server.foo.host = 192.168.55.1
server.foo.port = 6888
server.bar.host = 192.168.55.2
server.bar.port = 6888

其中servers 是由逗号隔开的一系列服务器名,server.<name>.host 指定服务器所在机器 的主机名或IP 地址,server.<name>.port 指定服务器的侦听端口号。

当客户向IIS 发送一个请求时,Apusic -IIS 连接器对请求的URI 进行分析,并将请求转 发给某一个指定的Apusic 服务器。通过设置URI 映射表可以有选择地进行转发。 以下是几个典型的URI 映射:

servlet-mapping./servlet/* = foo
servlet-mapping.*.jsp = foo
servlet-mapping./examples/*.jsp = bar

以上映射将所有URI 以/servlet/开头或者以.jsp 结尾的请求转发给foo 服务器,而将所有以/examples开打头并且以.jsp结尾的请求转发给bar 服务器。

如果IIS 和Apusic 共用相同的物理目录,采用这种方式可以由IIS 处理静态文档或ASP 文件,而Servlet 和JSP 则由Apusic 来处理。但如果IIS 和Apusic 无法共享物理目录,或 Web 应用已经打包成war 文件,则必须使用/examples/*这样的映射将所有的请求都转发给 Apusic。

以下是一个高级的URI 映射:

servlet-mapping.[/mirror/foo]/* = foo

如果请求的URI 为/mirror/foo/blah/good.jsp, 则将前缀/mirror/foo 去掉, 以 /blah/good.jsp 作为请求URI 转发给Apusic。在服务器名后面可以加上附加的路径信息,此 路径将替换原来的前缀。例如:

servlet-mapping.[/mirror/foo]/* = foo/new

则将/mirror/foo/blah/good.jsp 转换为/new/blah/good.jsp。

采用以上技术可以使IIS 成为Apusic 服务器的代理,将不同前缀的请求转发给不同的 内部服务器,同时起到了负载均衡的作用。

如果IIS 配置了多个虚拟主机,则可以使用以下映射方式:

servlet-mapping.//foo.com/* = foo
servlet-mapping.//bar.com/* = bar

注意映射字符串前面的两个斜杠('//'),当客户访问虚拟主机foo.com 时,请求被转发给 foo服务器,而访问虚拟主机bar.com 时,请求被转发给bar 服务器。

以上所有映射方式可以结合使用,具有很大的灵活性,例如:

servlet-mapping.//foo.com[/mirror/foo]/examples/*.jsp =foo/new