Рейтинг:0

Tomcat с внешним интерфейсом HTTPD. Приложение менеджера недоступно

флаг ca

У меня есть сервер HTTPD, который выполняет аутентификацию LDAP перед сервером Tomcat. Мое приложение находится в Tomcat.

Я передаю аутентифицированные запросы через AJP-коннектор tomcat в свое приложение. Теперь я хочу закрыть HTTP-коннектор. Но приложение менеджера недоступно (говорит об ошибке 403).

  • Когда я обращаюсь к http://localhost/my_app. Все работает нормально.
  • Когда я обращаюсь к http://localhost/manager/, это дает мне ошибку 403.
  • Если HTTP-коннектор открыт, т. е. http://localhost:port/manager, он доступен.
флаг in
Пожалуйста, предоставьте вашу конфигурацию tomcat
Vinayak avatar
флаг ca
Это конфигурация по умолчанию. Единственное, что я добавил дополнительно, это виртуальный хост, который использует ProxyPass и аутентификацию ldap.
Vinayak avatar
флаг ca
@GeraldSchneider Было бы полезно, если бы вы могли ответить на основе конфигурации по умолчанию, так как я ничего не менял
флаг cn
Можете ли вы поделиться своей конфигурацией виртуального хоста?
Vinayak avatar
флаг ca
Прокси-пасс / http://локальный:1000/ ProxyPassReverse/http://localhost:1000/ BalancerMember ajp://localhost:1009/ Опционы Индексы FollowSymlinks Аллововеррайд AuthName "Аутентификация Active Directory" Основной тип авторизации AuthBasicAuthoritative на AuthBasicProvider ldap LDAPReferrals отключены AuthLDAPBindAuthoritative на AuthLDAPURL AuthLDAPBindDN AuthLDAPBindPassword Требовать действительного пользователя
Рейтинг:2
флаг us

Это обоснованное предположение.Я думаю, что это может быть как часть менеджера, так и Apache, использующие заголовки аутентификации HTTP для аутентификации.

Когда клиент подключается к http://локальный/менеджер, Apache запрашивает учетные данные для аутентификации LDAP. Затем клиент отправит информацию об аутентификации в Apache, который принимает запросы и передает их в часть менеджера Tomcat.

Однако, поскольку учетные данные не соответствуют тому, что было определено для менеджера, возвращается ошибка 403.

Решением будет исключение /менеджер часть аутентификации LDAP. К сожалению, я не знаю, как это будет сделано в Apache.

Vinayak avatar
флаг ca
Да, я тоже пробовал так делать. Но страница приложения менеджера не загружается должным образом. Он показывает просто элементы этой страницы. Кроме того, я попытался указать те же учетные данные для tomcatusers.xml. Тогда тоже не получилось.
флаг us
Если он показывает только HTML-код, это означает, что базовый URL-адрес приложения задан неправильно. Вам нужно найти настройку для корневого URL-адреса приложения и убедиться, что это `http://localhost/manager`.
Рейтинг:1
флаг it

на основе https://stackoverflow.com/questions/5808206/how-to-fix-tomcat-http-status-403-access-to-the-requested-resource-has-been-den

кажется, что вам не хватает определения роли.

В файле tomcat-users.xml добавьте пользователя с ролью менеджер :

<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
Vinayak avatar
флаг ca
Нет... я могу получить доступ к менеджеру через порт, что означает, что моя конфигурация верна. Я хочу знать, как/почему он недоступен, если номер порта не используется

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.