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

无法在 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. 下载自 Windows x64 ISAPI 二进制文件http://apache.techartifact.com/mirror//tomcat/tomcat-connectors/jk/binaries/windows/并将其放在我的 tomcat 安装目录下创建的isapi_redirect.dll目录名中。isapi

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

worker.list= tomcatworker1
worker.tomcatworker1.host=localhost
worker.tomcatworker1.端口=8009
worker.tomcatworker1.类型=ajp13
  1. 然后我创建了一个uriworkermap.properties文件并将其放在 tomcat 的conf目录中,内容如下(因为我希望 tomcat 的根应用程序在子域的根路径下运行):
/*=tomcatworker1

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

# Jakarta ISAPI 重定向器的配置文件

# ISAPI 重定向器扩展的路径,相对于网站
# 这必须位于具有执行权限的虚拟目录中
extension_uri=\tomcat\isapi_redirect.dll

# ISAPI 重定向器日志文件的完整路径
log_file=C:\Program Files\Apache 软件基金会\Tomcat 7.0_Tomcat7_ins1\logs\isapi_redirect.log

# 日志级别(调试、信息、警告、错误或跟踪)
log_level=信息

# worker.properties 文件的完整路径
worker_file=C:\Program Files\Apache 软件基金会\Tomcat 7.0_Tomcat7_ins1\conf\workers.properties

# uriworkermap.properties 文件的完整路径
worker_mount_file=C:\Program Files\Apache 软件基金会\Tomcat 7.0_Tomcat7_ins1\conf\uriworkermap.properties

在 IIS 管理器中,在主服务器节点中选择 ISAPI 和 CGI​​ 限制功能。打开它并添加一个包含以下信息的新限制:

ISAPI 或 CGI 路径 = {我的 Tomcat 目录路径}\isapi\isapi_redirect.dll
描述 = Tomcat
选择“允许扩展路径执行”

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

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

接下来,ISAPI 筛选器功能位于我的新网站节点下。使用以下信息创建一个新筛选器:

过滤器名称 = tomcat
可执行文件 = {我的 Tomcat 根目录}\isapi\isapi_redirect.dll

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

完成所有这些操作后,当我访问我的子域时,出现了运行时错误,我不知道如何解决。请在此链接处查看错误http://backops.cmee.in/

答案1

除非虚拟目录使用名称,否则我配置它从来没有多大成功雅加达仅此而已。会议日志目录需要是 ISAPI 安装目录的子目录。

如果您使用右键单击和新建文本文档创建了这些 .properties 文件,则 Windows 不会为它们添加 .txt 扩展名。

最后,使用127.0.0.1代替本地主机在您的workers.properties中。我不知道为什么,但是在Windows 2012上使用localhost不起作用。

相关内容