Tomcat应用程序的代理IIS服务器

Tomcat应用程序的代理IIS服务器,tomcat,iis-7,reverse-proxy,openxava,Tomcat,Iis 7,Reverse Proxy,Openxava,我知道有很多方法可以将IIS服务器设置为代理,但不确定哪个选项适合我的情况 我想使用IIS服务器作为代理服务器来访问在Tomcat上运行的应用程序。原因是,我的IIS正在安全端口上运行。这个端口已经打开,我想利用它 我试过IIS。它的路线交通,但我注意到两个问题 它改变了地址栏上的地址(我看到了我的Tomcat) 应用程序地址+地址栏中的端口)虽然我在设置代理时设置了重写选项 它不好用 如果我没有在我的URL末尾附加正斜杠 我的IIS服务器还托管了一些其他应用程序。我不想干扰其他应用程序。因此,

我知道有很多方法可以将IIS服务器设置为代理,但不确定哪个选项适合我的情况

我想使用IIS服务器作为代理服务器来访问在Tomcat上运行的应用程序。原因是,我的IIS正在安全端口上运行。这个端口已经打开,我想利用它

我试过IIS。它的路线交通,但我注意到两个问题

  • 它改变了地址栏上的地址(我看到了我的Tomcat) 应用程序地址+地址栏中的端口)虽然我在设置代理时设置了重写选项
  • 它不好用 如果我没有在我的URL末尾附加正斜杠
  • 我的IIS服务器还托管了一些其他应用程序。我不想干扰其他应用程序。因此,我创建了一个空的web应用程序(例如),并在其上设置了一个反向代理

    这是我的反向代理规则

    如果这是正确的方法,请纠正我。如果是,我是否遗漏了什么

    编辑1

    我试过HttpPlatformHandler。它给出了502.3坏网关。下面是我在web.config文件中的配置

        <?xml version="1.0" encoding="UTF-8"?>
        <configuration>
      <system.webServer>
        <handlers>
          <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
        </handlers>
        <httpPlatform processPath="C:\Program Files\Apache Software Foundation\Tomcat 9.0_x\bin\startup.bat" arguments="" stdoutLogEnabled="true" stdoutLogFile="c:\dev\javasites\log.txt">
          <environmentVariables>
            <environmentVariable name="JRE_HOME" value="C:\Program Files\AdoptOpenJDK\jre-8.0.232.09-hotspot" />
            <environmentVariable name="CATALINA_HOME" value="C:\Program Files\Apache Software Foundation\Tomcat 9.0_x" />
          </environmentVariables>
        </httpPlatform>
      </system.webServer>
    </configuration>
    

    我已经设法解决了这个问题

    根本原因是我的Java应用程序。它以某种方式替换了主机名和端口。我在Tomcat>Conf文件夹下的server.xml中的HTTP连接器设置中提供了代理设置。因此,在我的应用程序更改url后,我的HTTP连接器会更新代理名称和端口

     proxyName="myserver"
               proxyPort="myport"
               scheme="https"
    

    请参阅第节下的更多详细信息。

    1)我几年前在该线程中发表了评论。HttpPlatformHandler应该是您的主要选项。2) 当您在ARR中使用“重写”时,地址栏不应更改,除非您的Java web应用程序甚至不能使用反向代理并自行执行重定向。您必须追踪重定向的来源才能继续。谢谢,我尝试了HttpPlatformHandler;它给出了502.3坏网关错误。我在第一次编辑中添加了我的web.config。有什么想法吗?请检查是否安装了IIS的通用功能,从而打开或关闭windows功能。我建议您尝试按照以下步骤配置HTTP平台处理程序。通过web平台安装程序安装HTTP平台处理程序并使用示例网站进行测试,有时,通过MSI进行的安装未经验证。IIS ARR(应用程序请求路由)要重定向到Tomcat,请参阅@JalpaPanchal,我在IIS功能列表中启用了HTTP功能,并通过web平台安装了HTTP平台处理程序,之后没有什么变化。然而,我注意到处理程序无法创建日志目录,我手动创建了它,并在log.txt文件中查看变量的日志记录。在浏览器上,它始终处于加载状态。请参见“编辑1”下的日志。
     proxyName="myserver"
               proxyPort="myport"
               scheme="https"