• 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

    tempjakarta​目录,用于放置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: omcat9iistomcatconnectorjakartaisapi_redirect.dll" 上

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

    答:根本不需要​

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

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

  • 相关阅读:
    MYSQL的基本语法
    如何实现SQL Server临时表的创建?
    计算时间 相加,相减 的方法,TimeSpan 数据转换
    sql server 拆分字符串,拆分两次(:和;)
    SQL group by分组查询(转)
    转: sqlserver常用sql语句,更改字段,建立唯一键,多个字段去重复等
    asp.net,CSS设置<TableListView>的title居左,居左,居上
    linq to sql ,将var 类型转为 IList 类型
    Open XML的上传、下载 、删除 ......文件路径
    C#操作office进行Excel图表创建,保存本地,word获取
  • 原文地址:https://www.cnblogs.com/johnsen/p/10096222.html
Copyright © 2020-2023  润新知