Особенности настройки SSO для Tomcat на IIS 8.5


Когда Microsoft подвергают критике за сложность и нелогичность настройки ее продуктов, то можно иной раз с этим согласиться, но когда приходится работать с продуктами других производителей, то, как говориться, все познается в сравнении: уровень обычно настолько ниже, что ясно понимаешь, почему продукты Microsoft так популярны даже несмотря на наличие массы «бесплатных» альтернатив.

Вот на днях пришлось настраивать SSO (Single-Sign-On) для Aparche Tomcat, чтобы заработала прозрачная аутентификация для Windows пользователей. Для этого был поднят сервер Windows Server 2012 R2 и IIS 8.5, потом установлен Tomcat 8 и ключевой элемент — Jakarta Isapi Redirector, который собственно и реализует SSO.

Все это нужно было для работы с HP Service Manager 9. Когда я выполнил тестовое подключение, то все достаточно быстро открылось и работало замечательно. Когда тоже самое сделал коллега, то получил сообщение об ошибке: «The page was not displayed because the request entity is too large».

Сообщение четко описывает, в чем проблема. Первым делом я нашел настройки ограничений на IIS:

clip_image001

Как видите по умолчанию IIS разрешает передачу контента аж в 30 Мб! Значит проблема где-то в Tomcat, но где? Количество мест и неочевидных параметров, как показывал предыдущий опыт, в Tomcat просто не имеет границ.

Тем не менее поиск в Интернет вывел на страничку с решением: проблема в том, что Jakarta Isapi Redirector имеет буфер по умолчанию 8 Кб! Сколько у Tomcat ограничение по умолчанию, я не знаю, поэтому выставляем одно и то же значение для обоих компонентов.

Увеличиваем буфер коннектора в 2 раза с 8 Кб до 16 Кб:

1. В файле server.xml

a. Найти

<Connector port=»8009″ protocol=»AJP/1.3″ redirectPort=»8443″ tomcatAuthentication=»false» URIEncoding=»UTF-8″/>

b. Добавить параметр packetSize=»16384″ (по умолчанию 8 Кб)

<Connector port=»8009″ protocol=»AJP/1.3″ redirectPort=»8443″ tomcatAuthentication=»false» URIEncoding=»UTF-8″ packetSize=»16384″/>

2. В файле worker.properties (используется isapi_redirect.dll ) вставить строку:

worker.local.max_packet_size=16384

(Вместо Local у вас может быть что-то другое)

PS: Нашел описание параметра packetSize http://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s

%d такие блоггеры, как: