У нас есть приложение, обслуживаемое Tomcat 7 на порту 8080. Мы хотим, чтобы пользователи использовали SSL. Итак, мы используем IIS 8 в качестве обратного прокси-сервера для прокси-соединения с порта 443 на порт 8080.
Вот чего мы пытаемся достичь: https://app.example.com ==> app.example.com:8080/AppName/
Ниже приведено правило перезаписи 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: // локальный: 8080 / AppName / в адресной строке браузера.
Проблема в том Название приложения. Модуль IIS URL Rewrite не любит заглавные буквы в действии. Однако Tomcat 7 чувствителен к регистру URL, и если я использую «appname» в правиле перезаписи, Tomcat выдает ошибку 404.
Есть ли способ заставить IIS хорошо работать с URL-адресом в верхнем регистре при перезаписи?