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.msi1.jpg安装完成后打开IIS管理,会看到新增了server farms、Application Request Routing Cache、URL重写三个功能。2.jpg在IIS栏目打开Application Request Routing Cache选项。添加一个文件夹做存放缓存文件。并启用proxy.3.jpg4.jpg5.jpg到此就可以使用反向代理功能。

在需要设置反向代理的站点上打开管理页面、IIS栏目下URL重写——添加规则——选择反向代理。

填写后端服务器的信息即可,比如这里tomcat监听8080,默认tomcat是127.0.0.1:8080方式访问,我输入127.0.0.1:8080

之后会生成web.config规则文件。6.jpg7.jpg访问默认站点测试,成功把请求转发给tomcat处理。8.jpg缓存目录成功生成缓存文件。9.jpg

注意,如果配置了多个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>