Я запускаю сервер Tomcat 7 в местном отделении нашей компании. Сервер был доступен для публики через порт 80 и 443. Несколько дней назад администраторы штаб-квартиры изменили конфигурацию; Tomcat теперь должен быть подключен через обратный прокси. Администраторы HQ изменили правила брандмауэра, изменили запись DNS и настроили обратный прокси. Поскольку у них нет опыта работы с tomcat, они попросили меня изменить конфигурацию, чтобы Tomcat слушал на 8080 запросы от обратного прокси.
Коннекторы Tomcat определяются следующим образом:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<Connector
protocol="HTTP/1.1"
port="443" maxThreads="400"
scheme="https" secure="true" SSLEnabled="true"
keystoreFile="foobar.jks" keystorePass="foo_bar"
clientAuth="false" sslProtocol="TLS"/>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" proxyName="server.company.com" proxyPort="443" />
Однако, когда я вызываю URI из firefox, я получаю «ошибку перенаправления» о том, что есть перенаправление, которое не может быть завершено. В журнале доступа Tomcats есть записи следующей схемы:
<revere proxy internal ip> - - [14/Dec/2015:15:52:31 +0100] "GET / HTTP/1.1" 302 -
Если я удалю свойства соединителя proxyName и proxyPort, будет отправлено перенаправление на внутреннее имя сервера tomcat.
Приветствуется любая помощь в решении этой проблемы.
Попробуйте добавить scheme = "https" и secure = "true" к соединителю с портом 8080, предполагая, что обратный прокси выполняет разгрузку SSL.