Я пытаюсь запустить Tomcat 9. Я настроил его для работы с SSL. Поэтому, когда я обращаюсь к URL-адресу tomcat с помощью:
Работает нормально. Но когда я пытаюсь запустить его с именем своего компьютера, я получаю сообщение об ошибке 403, в котором говорится, что я должен исправить свой tomcat-users.xml. У меня прекрасная настройка XML. Но не знаю, что делать в этом случае. Я установил файл hosts с записью имени моего компьютера.
Есть ли еще какие-то настройки, которые мне нужно сделать, чтобы заставить его работать?
В моем пользовательском файле есть следующие записи:
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<role rolename="manager-jmx"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<user password="admin" roles="manager-gui,admin-gui" username="admin"/>
Я также прикрепил экран ошибки.
Вам необходимо явно разрешить доступ к графическому интерфейсу менеджера для хостов, отличных от localhost, изменив Valve в ../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" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
Либо прокомментируйте это так:
<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" /> -->
<!-- <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/> -->
</Context>
Или измените IP-адрес внутри Valve на нужный вам IP-адрес или добавьте его в список.