IIS 反向代理到 Tomcat 大写路径

IIS 反向代理到 Tomcat 大写路径

我们有一个由 Tomcat 7 在端口 8080 上提供服务的应用程序。我们希望用户使用 SSL。因此,我们使用 IIS 8 作为反向代理,将连接从端口 443 代理到端口 8080。

这就是我们想要实现的目标: https://app.example.com==> app.example.com:8080/应用程序名称/

以下是 URL 重写规则

<rule name="Tomcat Reverse Proxy" enabled="true" stopProcessing="true">
  <match url="(.*)" ignoreCase="false"/>
  <action type="Rewrite" url="http://localhost:8080/AppName/{R:1}" logRewrittenUrl="true" />
</rule>

当执行此规则时,IIS 不会代理请求,而是进行重定向,我看到http://localhost:8080/应用程序名称/在浏览器的地址栏中。

问题是应用程序名称。IIS URL 重写模块不喜欢操作中的大写字母。但是,Tomcat 7 区分 URL 大小写,如果我在重写规则中使用“appname”,Tomcat 会抛出 404。

有什么方法可以让 IIS 在重写时顺利处理大写 url?

相关内容