IIS与Tomcat集成(去端口)

编辑
文档创建者:文档助手1 (67727 )     浏览次数:4621次     编辑次数:7次     最近更新:ukae 于 2018-06-14     

目录:

1. 问题描述编辑

FR报表部署在Web服务器如tomcat中,.net系统部署在IIS中,我们通过页面集成来实现在.net系统中调用报表。
这个时候若最终用户在浏览器中查看页面源代码或者浏览器状态栏中,会看到报表访问的完整路径如http://ip:端口/应用名......,此时服务器的信息就完全暴露给用户了。
为保证安全性,需要屏蔽掉服务器的端口号,就需要实现IIS与tomcat的无缝集成。

2. 实现步骤编辑

2.1 示例环境
操作系统:Win7
报表环境:JDK1.8.0+Tomcat7+FineReport9.0
.net环境:IIS6.0
注:确保IIS和Tomcat服务器独立都能正常运行,如IIS的http://localhost和tomcat的http://localhost:8080/都能访问;
tomcat不要安装在C盘下,会遇到权限问题;
整个配置过程停止iis服务,配置好后启动;
2.2 下载筛选器
需要有筛选器使Tomcat和IIS进行关联,可以从官网下载最新版本isapi_redirect-1.2.9.dll放到Tomcat服务器下,在%Tomcat_HOME%\bin\目录下新建文件夹jk,把下载的isapi_redirect-1.2.9.dll筛选器拷贝到jk文件夹中,如下图:
222

2.3 创建workers.properties文件
%Tomcat_HOME%/conf目录下,创建workers.properties文件,通过该文件将jdk及tomcat的目录告诉系统。具体内容如下:
workers.tomcat_home=E:\tomcat //tomcat的安装路径 workers.java_home=E:\jdk6.5 //jdk的安装路径 ps=\ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost // iis所在服务器的ip地址 worker.worker1.type=ajp13 worker.worker1.lbfactor=1
注:worker.worker1.port=8009,8009端口是iis与tomcat ajp13 协议的通信端口。tomcat中可配置,workers.properties务必要与tomcat设置保持一致。
2.4 创建uriworkermap.properties文件
%Tomcat_HOME%/conf目录下,创建uriworkermap.properties文件,在该文件中,写明哪些文件、哪些路径使用Tomcat提供服务,而不是通过IIS提供服务。
/*.jsp=worker1 //所有的.jsp文件都向tomcat转发 /WebReport/*=worker1 //WebReport工程下的所有内容都向tomcat转发
可能的设置有:
/*=worker1#所有访问都转发到tomcat中;/*.jsp=worker1#所有*.jsp的才向tomcat转发; /jsp-examples/*=worker1#所有/jsp-examples/*工程下的内容都进行转发,!/*.gif=worker1 #所有的gif文件都不向tomcat转发,而由IIS处理。
2.5 导入注册表文件xzy.reg
新建xzy.reg修改注册表内容如下:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "extension_uri"="/jakarta/isapi_redirect-1.2.9.dll" "log_file"="E:\\tomcat\\logs\\isapi.log " "worker_file"="E:\\tomcat \\conf\\workers.properties" "worker_mount_file"="E:\\tomcat\\conf\\uriworkermap.properties" "log_level"="release"
注:isapi_redirect-1.2.9.dll文件名和实际应用的dll文件名必须一致!推荐不加版本号如“isapi_redirect.dll"。
另:注册表中设置的"log_file"="E:\\tomcat\\logs\\isapi.log "十分有用,查看日志能协助解决问题。
双击运行这个文件,导入注册表中。
2.6 对IIS进行配置
  • 在IIS中创建虚拟目录jakarta
jakarta是跟注册表里面定义的筛选器目录的名字相同如"extension_uri"="/jakarta/isapi_redirect-1.2.9.dll",这个虚拟目录要指向isapi_redirect-1.2.9.dll所在的目录,并且设置为可执行IsApi,如下步骤:
右击Default Web Site,选择添加虚拟目录,如下图:
222
弹出对话框,在别名里面输入默认名:jakarta,选择连接器isapi_redirect-1.2.9.dll所在的目录即E:\tomcat\bin\jk,如下图:
222
  • 设置IIS默认网站的IsApi筛选器
点击Default Web Site页,找到处理程序映射,点击编辑功能权限,在弹出的对话框里勾选脚本和执行。如下图:
222
点击ISAPI筛选器>添加,弹出如下对话框,输入筛选器名称:isAPI,可执行文件地址选择isapi_redirect-1.2.9.dll所在的目录,点击确定。
222
  • 开启对应的服务扩展
在主页找到ISAPI和CGI限制,双击;把对应Web服务器状态改为允许,如下图:
222
2.7 重启IIS跟Tomcat服务器
主页右侧点击重新启动,如下图:
222
重启Tomcat,浏览器中输入http://localhost/index.jsp就可访问Tomcat主页了,或部署成功报表后可访问http://localhost/WebReport/ReportServer?op=fs可访问报表管理平台,则表明IIS与Web服务器的集成成功啦!

注:此文档中除了注册表xzy.reg的文件名是可以修改的,其余的名称是不可以修改的。

附件列表


主题: 部署集成
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?