无法通过Windows Server 2012上的ISAPI链接IIS8和Tomcat7

首先,我对IIS和Windows Server是全新的。 以前我曾经只在Apache和Linux上工作。

我想在一个子域下链接IIS8和Tomcat 7.0.34,这样当有人访问subdom.mydomain.com时候,IIS就会把请求转发给tomcat

我咨询了这两个参考文献:

  http://lab.usgin.org/applications/doc/make-tomcat-6x-work-iis7
 http://tomcat.apache.org/connectors-doc/reference/iis.html 

并做了他们如何显示。 以下是我所做的步骤:

  1. 从http://apache.techartifact.com/mirror//tomcat/tomcat-connectors/jk/binaries/windows/下载windows x64 ISAPI二进制文件,并将isapi_redirect.dll放在我的tomcat安装目录下创build的目录名称isapi

  2. 我创build了一个workers.properties文件,并将其放在tomcat的conf目录中

  worker.list = tomcatworker1
 worker.tomcatworker1.host =本地主机
 worker.tomcatworker1.port = 8009
 worker.tomcatworker1.type = AJP13 
  1. 然后,我创build了一个uriworkermap.properties文件,并将其放在tomcat的conf目录中,并包含以下内容(因为我希望tomcat的根应用程序在子域的根path下运行):
 / * = tomcatworker1

然后,我创build了一个isapi_redirect.properties文件,并将其放置在我的tomcat安装下的isapi目录下,内容如下:

 #雅加达ISAPIredirect器的configuration文件

 #ISAPIredirect器扩展的path,相对于网站
 #这必须在具有执行权限的虚拟目录中
 extension_uri = \ Tomcat的\ isapi_redirect.dll

 #ISAPIredirect器的日志文件的完整path
 log_file = C:\ Program Files \ Apache Software Foundation \ Tomcat 7.0_Tomcat7_ins1 \ logs \ isapi_redirect.log

 #日志级别(debugging,信息,警告,错误或跟踪)
 LOG_LEVEL =信息

 #workers.properties文件的完整path
 worker_file = C:\ Program Files \ Apache Software Foundation \ Tomcat 7.0_Tomcat7_ins1 \ conf \ workers.properties

 #uriworkermap.properties文件的完整path
 worker_mount_file = C:\ Program Files \ Apache Software Foundation \ Tomcat 7.0_Tomcat7_ins1 \ conf \ uriworkermap.properties

在IISpipe理器中,在主服务器节点中selectISAPI和CGI限制function。 打开它并添加一个新的限制与以下信息:

  ISAPI或CGIpath= {我的Tomcat目录path} \ isapi \ isapi_redirect.dll
说明= Tomcat
select“允许扩展path执行”

创build了一个绑定了subdom.mydomain.com的新网站,并在其中添加了一个具有以下属性的新的虚拟目录:

别名= tomcat
物理path= {我的Tomcat根目录} \ isapi 

接下来,我的新网站节点下的ISAPI筛选器function。 用这个信息创build一个新的filter:

 filter名称= tomcat
 Executable = {我的Tomcat根目录} \ isapi \ isapi_redirect.dll 

最后,确保启用了ISAPI处理程序。

做完所有这些事情后,当我访问我的子域时,我想出了一个运行时错误,我不知道如何解决。 检查错误在这个链接http://backops.cmee.in/

我从来没有成功configuration它,除非虚拟目录使用名称雅加达 ,没有别的。 conflogs目录需要是ISAPI安装目录的子目录。

如果使用右键单击和“新build文本文档”创build这些.properties文件,那么Windows不会为它们添加.txt扩展名。

最后,在workers.properties中使用127.0.0.1而不是localhost 。 我不知道为什么,但它不能在Windows 2012上使用本地主机。