为什么有这种需求,原因是这样的,公司有一个Java的web项目,在另一台服务器A上,最近老板一时兴起,想把他合并到这台稳定点的服务器B上,服务器B上使用IIS来寄宿asp.net 网站,怎么办呢,硬着头皮上吧,在网上找各种解决方案:
解决方案一:isapi_redirect
这个方法按照方法试了N次就是没搞定,
解决方案二:IIS反向代理
基本逻辑就是请求来到IIS,IIS根据路由规则把请求转发给Tomcat处理,然后tomcat把响应返回给IIS,
这个方案依然只是IIS独占端口80,看起来的感觉好像是IIS Tomcat共享80端口
需要安装一个IIS插件 下载地址如下 https://www.microsoft.com/web/handlers/webpi.ashx/getinstaller/ARRv3_0.appids
在IIS UI上各种配置之后生成的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="tomcat">
<match url="^(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.ahapc.org$" />
</conditions>
<action type="Rewrite" url="http://localhost:8080/{R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
^(.*) 这个正则表示匹配所有请求,
www.ahapc.org 表示输入匹配,就是说如果你的请求包含www.ahapc.org,则满足了转发条件
http://localhost:8080/{R:1} 表示满足上面的条件之后转发给本地8080去处理,也就是交给本地的Tomcat处理
解决方案三:nginx反向代理
总结
以上所述是小编给大家介绍的IIS Tomcat共享80端口的解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持!
您可能感兴趣的文章:如何修改tomcat默认端口号8080的方法Tomcat 启动错误(8080端口被占用)处理方法Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)java中tomcat的80端口被占用问题解决详解Tomcat多域名配置(多个项目共用80端口)完美解决在eclipse上部署Tomcat时出现8080等端口被占用的问题64位Windows2008系统下IIS7和Tomcat7整合共用80端口如何解决详解nginx 配置多个tomcat共用80端口Tomcat显示8080端口被占用的图文解决方法Linux系统下Tomcat使用80端口的方法