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