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

Настройте Tomcat за обратным прокси

Я запускаю сервер 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.