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

встроенный tomcat 7 за проблемами ssl прокси iis 7.5

Я использую встроенный tomcat 7 за прокси-сервером iis 7.5, и запросы перенаправляются на tomcat с помощью arr.

Все работает нормально, если iis не требует ssl.

Тогда такие вещи, как ссылки, которые создаются динамически в .jsp файлы на tomcat не работают правильно. Например если ссылка должна указывать на https://somewhere.com:443 это будет записано как http://somewhere.com:8080 (8080 - это порт, на котором работает tomcat).

Проблема, похоже, возникает, когда tomcat смотрит на себя, чтобы построить URL-адрес, который он правильно видит, что он работает http://somewhere.com:8080, но мне нужно думать иначе.

Кто-нибудь знает, как сделать это без использования ssl между iis и tomcat?

Эта проблема связана с тем, что Tomcat не знает фактического внешнего URL приложения. Когда приложение перенаправляет на относительный URL-адрес, сервлет добавляет полный абсолютный URL-адрес в Location (при необходимости).

Если вы используете HTTP между IIS и Tomcat, Tomcat считает, что вы используете HTTP и генерирует http://... абсолютный URL.

Решение не использует HTTP (ни HTTPS) между IIS и Tomcat.
Вы должны использовать AJP13 протокол и Tomcat-ISAPI Redirector на IIS.
Вот официальный Tomcat + IIS, как.

Используя Apache в качестве прокси, вы можете использовать HTTP для прокси, но вам нужно настроить Apache mod_proxy и сообщить Tomcat, что он находится за прокси. Вот как это сделать.