apache\IIS\tomcat整合:http://docs.landui.com/archives/806.html
以上内容为apache监听80端口,IIS、tomact监听非80端口,使用apache代理其他两个服务。
在日常问题处理中也会遇到需要IIS和tomcat共存的情况,这里做一个简单的演示。
网上大部分教程为使用redirect模块转发jsp请求,配置稍显复杂而且容易出错。
本文使用IIS ARR来实现。https://www.iis.net/downloads/microsoft/application-request-routing
本文适用于IIS>=7的环境。
ARR依赖URL Rewrite 、Web Farm Framework 、External Cache module三个组件。我已经把X64下的做整理。X86的可自行下载。
IIS反向代理组件下载https://blogs.technet.microsoft.com/erezs_iis_blog/2013/11/27/installing-arr-manually-without-webpi/
下载后先安装三个依赖项,最后安装requestRouter_x64.msi安装完成后打开IIS管理,会看到新增了server farms、Application Request Routing Cache、URL重写三个功能。
在IIS栏目打开Application Request Routing Cache选项。添加一个文件夹做存放缓存文件。并启用proxy.
到此就可以使用反向代理功能。
在需要设置反向代理的站点上打开管理页面、IIS栏目下URL重写——添加规则——选择反向代理。
填写后端服务器的信息即可,比如这里tomcat监听8080,默认tomcat是127.0.0.1:8080方式访问,我输入127.0.0.1:8080
之后会生成web.config规则文件。访问默认站点测试,成功把请求转发给tomcat处理。
缓存目录成功生成缓存文件。
注意,如果配置了多个tomcat站点,建议配置为不同的端口
如果需要使用同端口不同域名,在设置反向代理里面输入其对应的域名而不是IP地址。例如:test.landui.com:8080而不是127.0.0.1:8080
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="http://www.ynxdsdxf.com:8080/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>