IIS 整合 Tomcat 的两种方式

IIS 请求转发 Tomcat 的两种方式,看了很多网上资料,亲测第二种方便,记录一下

环境准备

1.确保本机的 tomcat 服务器下项目能正常访问,输入 http://localhost:8080 , 能访问到项目。
(jdk1.8.0_201 + apache-tomcat-8.5.38 的 webapps 下面放我的项目文件夹 root)
在这里插入图片描述在这里插入图片描述

2.确保 IIS 服务配置完善,访问 http://localhost 网页能出现。如下界面
(IIS 配置可查看其他播客资料)
在这里插入图片描述
在这里插入图片描述

一、第一种:用 isapi_redirect.dll 文件,接通Tomcat 与 iis

isapi_redirect.dll 下载

apache 官网下载地址如下:
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win64/jk-1.2.31/amd64/isapi_redirect-1.2.31.dll

或者在此路径下下载:
https://download.csdn.net/download/weixin_45447134/20546966

1.将 这三个文件放在 apache-tomcat-8.5.38/conf 目录下面
·isapi_redirect.dll
·workers.properties
·uriworkermap.properties

workers.properties 文件内容(要与自己的路径对照):

workers.tomcat_home= D://apache-tomcat-8.5.38
workers.java_home= C://Program Files//Java//jdk1.8.0_201
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1

uriworkermap.properties文件内容(要与自己的路径对照):

/*.jsp=ajp13

/*.do=ajp13

/*.*=ajp13

2.在桌面新建注册表文件:IIS_Tomcat.reg(要与自己的路径对照),双击启动安装

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ApacheSoftwareFoundation\Jakarta Isapi Redirector\1.0]

"extension_uri"="/jakarta/isapi_redirect.dll"

"log_file"="D://apache-tomcat-8.5.38//logs"

"log_level"="debug"

"tomcat_start"="D://apache-tomcat-8.5.38//bin//tomcat.batstart"

"tomcat_stop"="D://apache-tomcat-8.5.38//bin//tomcat.batstop"

"worker_file"="D://apache-tomcat-8.5.38//conf//workers.properties"

"worker_mount_file"="D://apache-tomcat-8.5.38//conf//uriworkermap.properties"

之后查看注册表:Win+R,输入regedit,查看:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ApacheSoftwareFoundation\Jakarta Isapi Redirector\1.0
在这里插入图片描述
3.在IIS中配置站点:
① 选中 -->网站,右击–>添加 网站(注意端口不要用被占用的)
在这里插入图片描述
② 选中 新建的网站–> 添加虚拟目录:
物理路径为:isapi_redirect.dll 所在的目录在这里插入图片描述
③选中服务器名称–>双击进入 ISAPI和CGI限制,右侧操作下面–>添加,如下图,确定
在这里插入图片描述
④选中 新建的网站–>双击ISAP筛选器,右侧操作下面–>添加,如下图,确定
在这里插入图片描述
⑤选中 新建的网站–>双击处理程序映射,操作–>添加脚本映射,如下图,确定
可执行文件 路径是 isapi_redirect.dll 放置路径
在这里插入图片描述
之后–>编辑功能权限–>全打钩–>确定:
在这里插入图片描述
⑥选中 新建的网站–>默认文档–>添加–>首页
在这里插入图片描述

到此完成:
输入 :www.exam.cn 相当于 localhost:8080

输入你的域名(需要在tomcat的 server.xml中配置域名)就可以直接访问你的javaweb项目了,而不用再加8080端口了。当iis接受到一个jsp网站isapi_redirect会转发到tomcat处理,然后将处理结果再返回给客户。

tomcat的 server.xml中配置域名:

    <Engine name="Catalina" defaultHost="www.exam.cn">
    ...
      <Host name="www.exam.cn"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
    ...
      </Host>
    </Engine>

到这里,网友们都说效果出来了,但是诡异的一幕出现了。。。

我的访问一直 报 404.17 (请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理) 查询资料说是 asp.net 4.x 的版本 没注册上,在这里反复试了几次也没有用,最后解决的方法是用第二种 反向代理的方式新建的网站,然后神奇的是第一种方式建的网站也能正常使用了。。。(不知道是不是第二种方式种新加了什么文件导致的)

下面说一下第二种方式:反向代理

环境需求:

在使用反向代理前,我们需要在IIS中安装 ARR 工具和 URL Rewrite 。
·–> 微软官方 提供安装方式,很快的: Web平台安装程序
在这里插入图片描述

1.安装完成后打开IIS ,选中服务器–>可以看到两个新功能( Application Routing Request 、URL 重写)

在这里插入图片描述
2.双击 Application Request Routing -->选择 Server Proxy Settings
在这里插入图片描述
3.选中–>新建站点–>双击URL重写–>右侧操作–>添加规则–>空白规则
在这里插入图片描述
4.添加配置

名称随意
模式写 ^(.*)
添加条件 - 条件输入 {HTTP_HOST} 模式输入 ^a.exam.cn$
操作类型默认重写
重写URL :http://127.0.0.1:8080/{R:1} ,这个链接表示要跳转的地址

在这里插入图片描述
5.在浏览器访问 www.exam.cn
在这里插入图片描述
这时候试了第一种方式创建的站点也能正常访问。
ps:两个站点的 浏览网址一样,端口一样都为 80,所以同时只能启动一个 网站。

总结:
1、IIS 整合 Tomcat 第二种方式比较方便。
2、局域网中要想都通过域名访问 iis的站点, 每台电脑都要配置 hosts文件进行解析域名
3、最后发现 内网穿透 更加简单粗暴,果断舍弃局域网 访问的这种方式。

不足之处请大佬多多指教哈!~ ღ( ´・ᴗ・` )比心

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在IIS上配置Tomcat服务器来运行Web项目,需要进行以下步骤: 1. 安装IISTomcat服务器。 2. 配置IISTomcat服务器,确保它们都能够正常运行。 3. 在IIS中创建一个新的网站,并将其绑定到Tomcat服务器上运行的Web应用程序。 4. 配置IISTomcat服务器之间的连接,以便IIS能够将HTTP请求转发到Tomcat服务器。 具体步骤如下: 1. 安装IISTomcat服务器 首先,需要安装IISTomcat服务器,这些可以从官方网站下载并按照指示安装。 2. 配置IISTomcat服务器 确保IISTomcat服务器都能够正常运行。在IIS中,启用HTTP重定向和URL重写模块。 在Tomcat服务器中,确保运行的Web应用程序可以通过HTTP访问,并且使用正确的端口(默认为8080)。 3. 在IIS中创建一个新的网站 在IIS中,创建一个新的网站。在“站点”节点上右键单击,选择“添加网站”。 在“添加网站”对话框中,输入网站名称和绑定的端口,选择“HTTP”协议,并在“物理路径”字段中输入Tomcat服务器上Web应用程序所在的路径。 4. 配置IISTomcat服务器之间的连接 要将IISTomcat服务器连接起来,需要安装和配置ARR(Application Request Routing)模块。 在IIS中,安装ARR模块并启用反向代理和URL重写规则。然后在IIS中创建一个新的“反向代理”站点,并将其绑定到Tomcat服务器上运行的Web应用程序。 最后,测试配置是否成功。在浏览器中输入IIS站点的URL,并确保Web应用程序能够正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值