1

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

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

我在 IIS 中尝试了反向代理。它路由流量,但我注意到两个问题。

  1. 它更改了地址栏上的地址(我在地址栏中看到了我的 Tomcat 应用程序地址 + 端口),尽管我在设置代理时将选项设置为重写。
  2. 如果我不在 URL 的末尾附加正斜杠,它就不能正常工作。

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

这是我的反向代理规则;

在此处输入图像描述 在此处输入图像描述

如果这是正确的方法,请纠正我。如果是的话,我错过了什么吗?

编辑 1

我已经尝试过 HttpPlatformHandler。它给出了 502.3 Bad Gateway。这是我在 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>

--- 日志.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"
4

1 回答 1

1

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

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

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

请参阅代理支持部分下的更多详细信息。

于 2019-12-02T13:41:25.667 回答