IIS与Tomcat集成(去端口)

编辑
  • 文档创建者:文档助手1
  • 浏览次数:6609次
  • 编辑次数:11次
  • 最近更新:Carly 于 2019-07-25

  • 1. 描述


    FineReport 报表部署在 Web 服务器(例如 Apache Tomcat) 中,.Net 系统部署在 IIS 中,可通过页面集成来实现在 .Net 系统中调用报表。

    此时若最终用户在浏览器中查看页面源代码或者浏览器状态栏,会看到报表访问的完整路径(如http://IP:端口/应用名......),服务器的信息就完全暴露给用户了。

    为保证安全性,需要屏蔽掉服务器的端口号,就需要实现 IIS 与  Apache Tomcat 的无缝集成。

    2. 实现步骤

    2.1 示例环境

    操作系统:Win7

    报表环境:JDK1.8.0+  Apache Tomcat 7+FineReport10.0

    .Net环境:IIS6.0

    注:

    • 确保 IIS 和 Apache Tomcat 服务器均能正常运行,如 IIS 的http://localhost和 Apache Tomcat 的  http://localhost:8080/都能访问;

    • Apache Tomcat 不要安装在 C 盘下,以防遇到权限问题;

    • 配置过程中,停止 IIS 服务,配置好后再启动;

    2.2 下载筛选器

    需要用筛选器使  Apache Tomcat 和 IIS 进行关联,可从官网下载最新版本 isapi_redirect-1.2.9.dll 放到 Tomcat 服务器下,在%Tomcat_HOME%\bin\目录下新建文件夹 jk,把下载的 isapi_redirect-1.2.9.dll 筛选器拷贝到 jk 文件夹中。如下图所示:

    222

    2.3 创建文件

    2.3.1 创建 workers.properties 文件

    %Tomcat_HOME%/conf目录下,创建 workers.properties文件,通过该文件将 JDK 及  Apache Tomcat 的目录告诉系统。具体内容如下:

    workers.tomcat_home=E:\tomcat
    //  Apache Tomcat 的安装路径
    workers.java_home=E<span style="line-height: 1.5;">:\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</span>
    注:worker.worker1.port=8009,8009 端口是 IIS 与 tomcat ajp13 协议的通信端口。 Apache Tomcat 中可配置,workers.properties 务必要与 Apache Tomcat 设置保持一致。

    2.3.2 创建 uriworkermap.properties 文件

    %Tomcat_HOME%/conf目录下,创建 uriworkermap.properties 文件,在该文件中,写明哪些文件、哪些路径使用  Apache Tomcat 提供服务,而不是通过 IIS 提供服务。具体内容如下:

        /*.jsp=worker1   //所有的 .jsp 文件都向 Tomcat 转发  
        /webroot/*=worker1  //webroot工 程下的所有内容都向 Tomcat 转发

    可能的设置有:

    /*=worker1# 所有访问都转发到 Apache Tomcat 中;/*.jsp=worker1# 所有 *.jsp 的才向 Apache Tomcat 转发; /jsp-examples/*=worker1# 所有 /jsp-examples/* 工程下的内容都进行转发,!/*.gif=worker1 #所有的 gif 文件都不向 Apache Tomcat 转发,而由 IIS 处理。

    2.3.3 导入注册表文件 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.4 配置 IIS

    2.4.1 IIS 中创建虚拟目录 jakarta

    jakarta 是跟注册表里面定义的筛选器目录的名字相同(如"extension_uri"="/jakarta/isapi_redirect-1.2.9.dll"),这个虚拟目录要指向 isapi_redirect-1.2.9.dll 所在的目录,并且设置为可执行 IsApi,具体步骤如下:

    1)右击 Default Web Site,选择添加虚拟目录,如下图所示:
    222

    2)弹出对话框,在别名里面输入默认名:jakarta,选择连接器 isapi_redirect-1.2.9.dll 所在的目录即E:\tomcat\bin\jk,如下图所示:

    222

    2.4.2 设置 IIS 默认网站的 IsApi 筛选器

    1)点击 Default Web Site 页,找到处理程序映射,编辑功能权限。如下图所示:

    222

    2)点击ISAPI 筛选器>添加,弹出如下对话框,输入筛选器名称:isAPI,可执行文件地址选择 isapi_redirect-1.2.9.dll 所在的目录,点击确定。


    2.4.3 开启对应的服务扩展

    把对应 Web 服务器状态改为允许,如下图所示:

    2.5 重启 IIS 和 Apache Tomcat 服务器

    1)重新启动 IIS 服务器,选择 IIS 所在服务右击选择所有任务,重新启动 IIS,如下图所示:

    2)会有如下对话框弹出,点击确定,便重新启动 IIS 服务器了。

    3)重启  Apache Tomcat ,浏览器中输入http://localhost/index.jsp可访问  Apache Tomcat 主页,或部署成功报表后输入http://localhost/webroot/decision 可访问报表管理平台,则表明 IIS 与 Web 服务器的集成成功。

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

    3.效果预览

    1)浏览器中输入http://localhost/index.jsp,可访问  Apache Tomcat 主页。

    222
    2)部署成功报表后输入http://localhost/webroot/decision 可访问报表管理平台。
    222

    附件列表


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

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

    此页面有帮助吗?只是浏览 [ 去社区提问 ]