IIS+Tomcat功能iis端口2

时间:2021-06-14 05:54:37

  之前写过IIS桥接Tomcat是通过isapi_redirect.dll,组件方式实现共用端口的,但是在Windows2012服务器 iis8.0版本中,配置完成后没有效果,比较抓狂,分析发现如下信息 : http://tomcat.apache.org/connectors-doc/webserver_howto/iis.html,也就是说在iis7以上isapi_redirect.dll组件是不能很好的支持的,当然也不排除可以用,我自己测试在iis10中就可以用,不够稳定。

IIS+Tomcat功能iis端口2 

      然后考虑了用nginx或apache反向代理的方式实现,这两个反向代理服务器都可以实现此需求,但是根据目前的客观条件客户只开放了一个外网端口且已经给iis使用,我们不能动已有的东西,反向代理服务器本身要占用一个端口,因此只能在iis上面想办法了,这块使用了Application Request Routing来解决,已经达到目的,下面说一下配置过程。

     1.安装Application Request Routing环境,iis本次没有带这块组件需要去官网下载,如果服务器离线需要按顺序去下载离线安装包。

      1.1离线安装包下载

       1.stop iis
       2.下载安装 http://download.microsoft.com/download/5/7/0/57065640-4665-4980-a2f1-4d5940b577b0/webfarm_v1.1_amd64_en_us.msi
       3 .安装 http://download.microsoft.com/download/3/4/1/3415F3F9-5698-44FE-A072-D4AF09728390/ExternalDiskCache_amd64_en-US.msi
       4. http://download.microsoft.com/download/6/7/D/67D80164-7DD0-48AF-86E3-DE7A182D6815/rewrite_amd64_en-US.msi
       5. http://download.microsoft.com/download/6/3/D/63D67918-483E-4507-939D-7F8C077F889E/requestRouter_x64.msi
       6. 启动IIS服务或重启服务器

     2.重启iis后关掉iis界面重新打开后界面会刷新出两个组件。

     IIS+Tomcat功能iis端口2

      3.开启请求转发,此页面其他配置选择默认即可。

      IIS+Tomcat功能iis端口2

         配置代理服务器信息

       IIS+Tomcat功能iis端口2

      4.配置路由规则,选中代理的应用程序,双击URL重写-》添加规则-》选择反向代理,配置需要的路由规则。这块需要配置一个代理到tomcat的应用程序,应用程序名字需要与tomcat那边取的名字保持一致,不然会出现资源文件路径错误问题。

      IIS+Tomcat功能iis端口2

          规则配置,如下图,这是我用的,配置完成后会在代理应用程序文件夹下生成一个web.config文件这里面就是保存的路由规则。

           IIS+Tomcat功能iis端口2

         也可直接覆盖配置文件实现,如下。

        

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="http://33.61.33.5:9090/qysb_sx/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>


     5.遇到的问题。

     配置起来还是比较快的,主要就是实现代理功能后系统资源路径被改变导致很多地方访问不了,保持iis应用程序名和tomcat程序访问名一致即可。