​​对于使用tomcat-connector实现iis与tomcat实现80端口共用的问题,网上的信息异常混乱,很多地方误人子弟,浪费时间。本文给出简明手册式的做法:

首先列出我们需要做的事项:

1、下载tomcat-connector的dll

2、创建2个目录​,一个用于iis建立网站,一个用于创建jakarta虚拟目录

3、创建3个properties文件

4、iis设置映射关系

下面简明说明:

1、下载我就不说了,在tomcat​官方完整可以下,会得到isapi_redirect.dll

下载地址:https://tomcat.apache.org/download-connectors.cgi​

2、创建3个properties​文件,内容如下

​2.1 isapi_redirect.properties

内容如下:

​# Configuration file for the Tomcat ISAPI Redirector

# The path to the ISAPI Redirector Extension, relative to the website

# This must be in a virtual directory with execute privileges

extension_uri=/jakarta/isapi_redirect.dll

# Full path to the log file for the ISAPI Redirector

log_file=d:/temp/logs/isapi_redirect.log

# Log level (debug, info, warn, error or trace)

log_level=debug

# Full path to the workers.properties file

worker_file=d:/temp/workers.properties

# Full path to the uriworkermap.properties file

worker_mount_file=d:/temp/uriworkermap.properties

​2.2 workers.properties

内容如下:

workers.tomcat_home=D:/tomcat9/

workers.java_home=C:/Program Files/Java/jre1.8.0_191/

# 值可任意,但需要与uriworkermap.properties配置保持一致,不一致会导致空白页

worker.list=jdart

#下面其他可以忽略,系统都有默认值

#worker.jdart.type=ajp13

#这是tomcat的访问域名或IP

#worker.jdart.host=127.0.0.1

#同server.xml配置一致

#worker.jdart.port=8009

​2.3 uriworkermap.properties

内容如下:

#这个地方,=前面为tomcat的项目名称,后面为worker.list的名称,如下面就是映射 http://localhost:8080/tomcatprojectname/这个tomcat网站的

#如果不加项目名:/*=jdart 会映射所有tomcat网站

/tomcatprojectname/*=jdart

​2、创建如下目录结构

temp 目录,用于存放workers.properties和uriworkermap.properties

temp\jakarta\​目录,用于放置isapi_redirect.properties和isapi_redirect.dll

目录结构很重要,如果isapi_redirect.properties没有存放到jakarta目录,会出现GetFilterVersion失败的500错误

​3、iis配置

iis配置很简单,主要有下面几点:

1、对temp目录创建一个网站,然后对jakarta目录创建一个虚拟目录,如果没有jakarta目录,则会映射失败,出现404找不到资源的错误

图1

2、在iis跟节点的功能列表中增加isapi和cgi限制,并设置为允许

ispai路径,选择你的isapi_redirect.dll,名称随便,记得要设置为允许

图2

图3

图4 编辑权限

图5 注意设置为允许

3、添加isapi筛选器

名称最好为jakarta,见图3

4、在网站的处理程序映射界面,编辑功能权限,全选各个权限即可,见图4。

到此你如果完整按照上述配置,应该可以通过iis访问到tomcat的地址了

整个过程有很多误区:​

误区包括:

1、是否需要修改注册表​:

答,不需要,tomcat docs里面已经明确说明, The redirector will check for the isapi_redirect.properties file during initialisation, and use it in preference to the registry if present,所以isapi_redirect.properties最优先,其次才是注册表,而写注册表非常容易搞错。

需要注意的的是,这个properties文件一定要放在共同目录,否则无效。​

2、是否需要​设置端口:

答,只有非默认才需要设置,否则不需要设置

默认就是ajp13,localhost,8009,如果有变化你才需要设置,否则work.list后面的的行,全部可以删除。

3、是否需要在tomcat/conf目录​放置那些文件:

答:不需要,任意磁盘位置均可​

4、出现GetFilterVersion 是由于没有写或修改注册表

答​:注册表配置,基本不会成功,请用isapi_redirect.properties文件,更为方便

HTTP 错误 500.0 - Internal Server Error》调用 GetFilterVersion 失败,在 ISAPI 筛选器 "D:\tomcat9\iistomcatconnector\jakarta\isapi_redirect.dll" 上

5、是否需要配置tomcat的server.xml

答:根本不需要​

6、是否需要配置iis的jsp映射

答:不需要​,dll只按照uriworkermap.properties所配置的规则进行目录映射,比如springboot开发的程序,根本没有扩展名,更无从配置

tomcat和iis共用80端口的简明手册的更多相关文章

  1. 实现tomcat与IIS共用80端口

    一.80端口被system占用的问题 目前生产环境的需要两种方式网站发布: [1].使用IIS发布.net开发的网站: [2].使用tomcat发布java开发的网站: 启动tomcat的时候发现无法 ...

  2. apache与IIS共用80端口冲突解决方法

    如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...

  3. 使用apache和IIS,共用80端口的一个解决方案【转】

    将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理. 在httpd.conf里面,取消下面四行的注释: LoadModule proxy_module m ...

  4. tomcat与iis公用80端口(已经发布.net项目现在开发Java项目时tomcat在eclipse中localhost:8080打不开问题)

    在开发过.net项目的电脑上安装eclipse配置tomcat运行时打不开页面问题描述,这也是本人亲生经历,找了好多资料网上大多都是tomcat配置问题描述,今天突然想到是不是IIS的问题,果然上网一 ...

  5. IIS和tomcat共用80端口

    IIS和tomcat共用80端口 很多机器都需要同时使用tomcat和iis两个服务器以部署不同的网站,而解决共用80端口的问题也经常遇到,今天实际操作了一回,以下是具体步骤: 实现tomcat和ii ...

  6. IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口

    IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口 背景: 最近公司有一个项目要上线,需要用到iis和tomcat整合,共用80端口.由于公司的数据都非常重要,只通过端口映射到外网的8 ...

  7. 安装酷痞到IIS7.x共用80端口Windows(64位)系统下运行多个酷痞

    需求: 1.酷痞直接运行的模式是自宿主运行.由于win系统一般都由iis提供多个网站服务,并首先占用了80端口,如果想酷痞可以直接通过主机头和iis共用80端口会出现这种运行模式的需求. 以下是实现方 ...

  8. 利用IIS应用请求转发ARR实现IIS和tomcat整合共用80端口

    现在网上流传的实现iis和tomcat共享80端口的方法是基于isapi_redirect插件实现的, 我的实现方法不同, 原理相似,具有更好的优点. 先说下基于isapi_redirect缺点,ja ...

  9. IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容

    环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: 以下是使用IIS的域名: http://www.formuch.com/ http://www.fo ...

随机推荐

  1. AC, FVOCI, FVPL

    IFRS9 会计新准则中规定了资产划分依据为合同现金流特征及业务模式. 关键词:资产负债表,利润表,损益,利率风险 AC账户: 为收取合同约定的现金流.持有到期业务. 资产在持有期内不变,使用摊余成本 ...

  2. Golang基本语法

    (1) 全局变量与局部变量 首先,得了解go代码块,也就是"{}",代码块外面访问不到代码块里面的变量. 在go语言里,变量民首写字母为大写则是全局变量,首写字母小写则是局部变量. ...

  3. django ----视图和路由

    django的view(视图) 一个视图函数,简称视图,是一个简单python函数,他接受web请求并且返回一个响应 响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者 ...

  4. Qt学习资料

    网址:http://www.qter.org/portal.php?mod=list&catid=18 qt开源社区 (门户)里面有在线学习资料(讲的比较粗略 但是进程比较快 适用于快速学习) ...

  5. js···DOM2动态创建节点

    1.生成节点的方法  document.createElement(“div”) 2.插入节点的方法   父元素.appendChild(新节点) 在父节点中的子节点后面插入新的节点 3.在指定的位置 ...

  6. PyCharm设置仿sublime配色__Py版本2018.3.5

    效果图: 导出settings 模板为: 1.https://files.cnblogs.com/files/xier/PyCharm_settings.zip 2.https://files.cnb ...

  7. 10. Firewalls (防火墙 2个)

    Netfilter是在标准Linux内核中实现的强大的包过滤器. 用户空间iptables工具用于配置. 它现在支持数据包过滤(无状态或有状态),各种网络地址和端口转换(NAT / NAPT),以及用 ...

  8. Space Invaders 太空侵略者

    发售年份 1978 平台 街机 开发商 Taito 类型 射击 https://www.youtube.com/watch?v=MU4psw3ccUI

  9. python 基础之python的六大标准数据类型

    一:Number 数字类型(int  float  bool  complex) 1.整型: (正整数 0 负整数)#(1)二进制用0b表示intvar = 0b1010print(intvar)pr ...

  10. MessageFormat.format 包含单引号引起的不可替换

    MessageFormat.format("region = '{0}'", "en");实际结果是region = {0}如果需要被替换的话,需要用双单引号 ...