tomcat和iis共用80端口的简明手册
对于使用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端口的简明手册的更多相关文章
- 实现tomcat与IIS共用80端口
一.80端口被system占用的问题 目前生产环境的需要两种方式网站发布: [1].使用IIS发布.net开发的网站: [2].使用tomcat发布java开发的网站: 启动tomcat的时候发现无法 ...
- apache与IIS共用80端口冲突解决方法
如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...
- 使用apache和IIS,共用80端口的一个解决方案【转】
将apache设为使用80端口,IIS使用其它端口,比如81,然后将apache作为IIS的代理. 在httpd.conf里面,取消下面四行的注释: LoadModule proxy_module m ...
- tomcat与iis公用80端口(已经发布.net项目现在开发Java项目时tomcat在eclipse中localhost:8080打不开问题)
在开发过.net项目的电脑上安装eclipse配置tomcat运行时打不开页面问题描述,这也是本人亲生经历,找了好多资料网上大多都是tomcat配置问题描述,今天突然想到是不是IIS的问题,果然上网一 ...
- IIS和tomcat共用80端口
IIS和tomcat共用80端口 很多机器都需要同时使用tomcat和iis两个服务器以部署不同的网站,而解决共用80端口的问题也经常遇到,今天实际操作了一回,以下是具体步骤: 实现tomcat和ii ...
- IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口
IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口 背景: 最近公司有一个项目要上线,需要用到iis和tomcat整合,共用80端口.由于公司的数据都非常重要,只通过端口映射到外网的8 ...
- 安装酷痞到IIS7.x共用80端口Windows(64位)系统下运行多个酷痞
需求: 1.酷痞直接运行的模式是自宿主运行.由于win系统一般都由iis提供多个网站服务,并首先占用了80端口,如果想酷痞可以直接通过主机头和iis共用80端口会出现这种运行模式的需求. 以下是实现方 ...
- 利用IIS应用请求转发ARR实现IIS和tomcat整合共用80端口
现在网上流传的实现iis和tomcat共享80端口的方法是基于isapi_redirect插件实现的, 我的实现方法不同, 原理相似,具有更好的优点. 先说下基于isapi_redirect缺点,ja ...
- IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容
环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: 以下是使用IIS的域名: http://www.formuch.com/ http://www.fo ...
随机推荐
- VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法
VS2008安装“Visual Studio Web 创作组件”安装失败的解决方法 今天在单位电脑安装VS2008,当安装到“Visual Studio Web 创作组件”时出现错误. 准备手动安装 ...
- python从零开始 -- 第0篇之Hello World!
为什么选择python以及版本选择 学习资料 学习方法和路径 1. 为什么选择python以及版本选择: Python 好玩,强大,更多关于关于为什么选择Python,在 编程小白的第一本 Pyt ...
- React项目中跨域问题的解决方案
刚刚找到到通过creat-react-app创建的项目中跨域问题的解决方案,记录下来以备后用. 如果接口地址为: http://my.example.com/eg-api 则配置package ...
- 小程序wx.request的封装
第一次做小程序项目,这个封装方法是同学推荐的一个网址,对我帮助很大,如果想看代码部分,请看网址详细介绍 网络请求都写在Page里,每个请求都要重复的写wx.request以及一些基础配置: 每个页面里 ...
- Python之字符串函数str()
str()方法使Python将非字符串值表示为字符串: age = 23 message = "Happy" + str(age) +"rd Birthday"
- 简述iproute家族命令
ifconfig 是用来查看.配置.启用或禁用网络接口的工具.可以用这个工具来临时配置网卡的IP地址.掩码.广播地址.网关等. 语法 ifconfig [interface] 参数 up 启动指定网络 ...
- 20164318 毛瀚逸 Exp4 恶意代码分析
---恢复内容开始--- 1 关键内容 系统运行监控 (1)使用计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述分析结果. (2)安装配置sys ...
- 学习笔记DL008:概率论,随机变量,概率分布,边缘概率,条件概率,期望、方差、协方差
概率和信息论. 概率论,表示不确定性声明数学框架.提供量化不确定性方法,提供导出新不确定性声明(statement)公理.人工智能领域,概率法则,AI系统推理,设计算法计算概率论导出表达式.概率和统计 ...
- R实用小技巧
输出重定向 # 文本重定向 # cat cat("hello",file="D:/test.txt", append=T) # sink("filen ...
- docker nginx letsencrypt
https越来越流行了,但免费的证书一般是一年有效期.一般是够用了,但懒人都想一劳永逸, 有个免费证书颁发机构是letsencrypt.它是开源,并且完全免费的,它颁发的证书已经被几乎所有的浏览器所认 ...