将IIS服务器代理到Tomcat应用程序

我知道有multiple ways可以将IIS服务器设置为代理,但是不确定哪个选项适合我的情况。

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

我在IIS中尝试过reverse proxy。它路由流量,但我注意到两个问题。

  1. 它会更改地址栏上的地址(我看到了Tomcat 应用程序地址+地址栏中的端口),尽管我在设置代理时将选项设置为重写。
  2. 效果不佳     如果我未在网址末尾添加正斜杠。

我的IIS服务器还托管了其他一些应用程序。我不想打扰其他应用程序。因此,我创建了一个空的Web应用程序(例如https://myserver/myapp/),并在其上设置了反向代理。

这是我的反向代理规则;

将IIS服务器代理到Tomcat应用程序

将IIS服务器代理到Tomcat应用程序

如果这是正确的方法,请纠正我。如果是,我有什么遗漏吗?

编辑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>

--- log.txt -----

 Using CATALINA_BASE:   "C:\Program Files\Apache Software Foundation\Tomcat 9.0_x"
Using CATALINA_HOME:   "C:\Program Files\Apache Software Foundation\Tomcat 9.0_x"
Using CATALINA_TMPDIR: "C:\Program Files\Apache Software Foundation\Tomcat 9.0_x\temp"
Using JRE_HOME:        "C:\Program Files\AdoptOpenJDK\jre-8.0.232.09-hotspot"
Using CLAsspATH:       "C:\Program Files\Apache Software Foundation\Tomcat 9.0_x\bin\bootstrap.jar;C:\Program Files\Apache Software Foundation\Tomcat 9.0_x\bin\tomcat-juli.jar"
quguangliang 回答:将IIS服务器代理到Tomcat应用程序

我设法解决了这个问题。

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

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

Proxy Support部分下查看更多详细信息。

本文链接:https://www.f2er.com/3015417.html

大家都在问