Я пытаюсь настроить сервер интернет-информации для работы с Tomcat и после выполнения шагов, описанных ввеб-сайтэто не работает.
Хуже всего то, что нет способа документировать или понять, где проблема. Как видно на сайте, нужно выполнить много шагов для настройки, и вывод должен быть "ok", но нет способа диагностировать, где проблема.
ИИС
У меня Windows Server 2012 R2 64 бит с IIS, который идет с установкой. Первый вопрос: ¿это 32 бит или 64 бит??? Для остальной части этого вопроса я буду предполагать, что это 64 бит.
Кот
Apache tomcat 10.0.18. Работает с версией java 1.8.0_161. Сервер настроен на работу в качестве службы с входом в систему под учетной записью "Local System". Для примера предположим, что установлен в %TOMCAT_HOME%
.
Разъем AJP настроен следующим образом:
<Connector protocol="AJP/1.3"
address="0.0.0.0"
port="8009"
secretRequired="false"
xpoweredBy="true"/>
И подтвердил, что это работает:
C:\>netstat -ab | find "8009"
TCP 0.0.0.0:8009 THIS-SERVER:0 LISTENING
TCP [::]:8009 THIS-SERVER:0 LISTENING
Редиректор ISAPI для Microsoft IIS
Скачаноотсюда. 64-битная версия. Устанавливается в %TOMCAT_HOME%\isapi
. Файлы конфигурации:
ìsapi_redirect.properties
:
#
# isapi_redirect.properties
#
extension_uri=/jakarta/isapi_redirect.dll
log_file=[server-home-removed]\\isapi\\isapi_redirect.log
log_level=debug
worker_file=[server-home-removed]\\isapi\\workers.properties
worker_mount_file=[server-home-removed]\\isapi\\uriworkermap.properties
workers.properties
#
# workers.properties
#
worker.list=tomcat01
worker.tomcat01.type=ajp13
worker.tomcat01.host=localhost
worker.tomcat01.port=8009
uriworkermap.properties
#
# uriworkermap.properties
#
/examples/*=tomcat01
/jakarta/*=tomcat01
/pwdReset/*=tomcat01
Конфигурация IIS проверена
Я предоставил разрешение на доступ к
isapi
каталогу, как того требует руководство:icacls "%TOMCAT_HOME%\isapi" /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)M
icacls "%TOMCAT_HOME%\isapi\isapi_redirect.dll" /grant "Все":RX
Я создал виртуальный каталог af**** (это уже третий или четвертый раз) с именем "jakarta" и указал на последний каталог (см. ниже). Виртуальный каталог имеет свойство "connect as", настроенное как "application user (pass-through authentication)":
- Сопоставление обработчиков настроено следующим образом:
Ограничения на запросы доступа настроены как "none". Но я пробовал также с "execute" и ничего не происходит.
- Конфигурация фильтра ISAPI:
Проблема вчто, по-видимому, имея все в порядке, вывод, который я получил при попытке подключиться к виртуальному пути, - это ошибка 500, если я использую фильтр ISAPI 32 бита, или ошибка 403, если я использую фильтр ISAPI 64 бита. Что я делаю не так??? И что еще важнее, есть ли способ диагностировать, что различные части этого clusterfuck верны, чтобы проверить, работает ли фильтр ISAPI, работает ли коннектор AJP tomcat и т. д.???
решение1
Решено: если вы читаетеобновленная ссылка на соединительвы найдете несколько вещей:
Обратите внимание, что в 64-битной среде — по крайней мере для IIS 7 —для используемого пула приложений IIS параметр «Включить 32-разрядные приложения» должен быть установлен на «Ложь». В противном случае редиректор не будет вызван и вернет http-код 404. Если вы думаете, что 32-битная версия isapi_redirect.dll справится с этой задачей, вы получите http-код 500, поскольку библиотека не загружается в 64-битный IIS.
И я заполнил информацию реестра перед повторным тестированием. Теперь это работает (запросы появляются в стороне tomcat).