欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

IIS Tomcat共享80端口的解决方案

程序员文章站 2022-04-06 22:39:30
为什么有这种需求,原因是这样的,公司有一个java的web项目,在另一台服务器a上,最近老板一时兴起,想把他合并到这台稳定点的服务器b上,服务器b上使用iis来寄宿asp....

为什么有这种需求,原因是这样的,公司有一个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>

 ^(.*) 这个正则表示匹配所有请求,

表示输入匹配,就是说如果你的请求包含,则满足了转发条件

http://localhost:8080/{r:1} 表示满足上面的条件之后转发给本地8080去处理,也就是交给本地的tomcat处理

解决方案三:nginx反向代理

总结

以上所述是小编给大家介绍的iis tomcat共享80端口的解决方案,希望对大家有所帮助