Назад | Перейти на главную страницу

Обратный прокси-сервер IIS для пути в верхнем регистре Tomcat

У нас есть приложение, обслуживаемое 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-адресом в верхнем регистре при перезаписи?