У меня есть настройка tomcat 8 на ubuntu 16.04 на удаленном сервере. Я хочу получить доступ к приложению диспетчера графического интерфейса со своего локального компьютера. Посещая страницу / manager / html, я получаю 403-ю страницу с отказом в доступе со следующей информацией:
По умолчанию Host Manager доступен только из браузера, работающего на том же компьютере, что и Tomcat. Если вы хотите изменить это ограничение, вам необходимо отредактировать файл context.xml менеджера хоста.
и он говорит добавить в этот файл следующее:
/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="username" password="password" roles="manager-gui"/>
Я сделал это, перезапустил кота:
sudo systemctl restart tomcat
но я получаю ту же страницу с ошибкой.
Есть идеи, что мне не хватает?
Спасибо
Для Tomcat v8.5.4 и выше файл <tomcat>/webapps/manager/META-INF/context.xml
было скорректировано:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>
Измените этот файл, чтобы прокомментировать Valve
:
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
</Context>
После этого обновите ваш браузер (перезапускать Tomcat не нужно), вы увидите страницу менеджера.
Для Tomcat версии 7 и выше.
Начиная с Tomcat 7, некоторые вещи изменились для повышения безопасности Tomcat. При редактировании tomcat-users.xml файл, вам нужно использовать существующий файл и оставить информацию xmlns для пользователей tomcat как есть и просто добавить:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<user username="SOMEUSER" password="YOURPASS" roles="manager-gui"/>
Обратите внимание, что менеджер теперь является менеджером-gui, а не просто менеджером. Есть несколько разных типов менеджеров:
manager-gui
manager-script
manager-status
manager-jmx
Последний шаг - разрешение доступа
По умолчанию Host Manager доступен только из браузера, работающего на том же компьютере, что и Tomcat. Если вы хотите изменить это ограничение, вам необходимо отредактировать tomcat / webapps / менеджер / META-INF / context.xml разрешить все IPS или только ваш.
Ниже приведена конфигурация, позволяющая всем IP-адресам получить доступ к менеджеру:
Заменить
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1"
с участием
allow=".*"
Пример:
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*" />
</Context>
Наконец - перезапустите tomcat, а затем перейдите на yourdomain.com/manager/html
Файл context.xml для редактирования, вызываемый страницей ошибки:
$ CATALINA_HOME / webapps / manager / META-INF / context.xml
предполагая, что CATALINA_HOME - это место установки tomcat. Это файл конфигурации контекста для веб-приложения менеджера. В этом файле вы обычно найдете:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
В этой строке "позволятьПоле содержит разделенный вертикальной чертой список IP-адресов, которым разрешен доступ к веб-приложению менеджера. Добавьте в конце значения этого поля вертикальную черту и ваш IP-адрес.
После этого просто обновите свой браузер, перезапуск Tomcat не требуется.