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