Доступ к приложению Tomcat Manager с другого хоста



Я установил tomcat 9 на удаленном сервере, и после его запуска он был поднят нормально, я могу получить доступ http://host_name:port_num и смотрите страницу приветствия tomcat. Но когда я пытаюсь открыть приложение manager, чтобы увидеть мои развернутые приложения, я получаю отказ в доступе 403, я уже добавляю роли в xml пользователя tomcat следующим образом:



<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="user" password="password" roles="admin,manager,manager-gui"/>


сообщения об ошибках, которые я видел:



по умолчанию диспетчер узлов доступен только из браузера, работающего на той же машине, что и Кот. Если вы хотите изменить это ограничение, вам нужно будет изменить контекст менеджера Хоста.XML-файл.



Как я должен изменить контекст.xml-файл и получить доступ к приложению manager?

1002   3  

3 ответов:

каждое развернутое веб-приложение имеет context.xml файл, который живет в

$CATALINA_BASE/conf/[enginename]/[hostname]

(conf/Catalina/localhost by default)

и имеет то же имя, что и веб-приложение (manager.xml в данном случае). Если файл отсутствует, используются значения по умолчанию.

Итак, вам нужно создать файл conf/Catalina/localhost/manager.xml и укажите правило, которое вы хотите разрешить удаленный доступ. Например, следующее содержимое manager.xml разрешит доступ со всех машин:

<Context privileged="true" antiResourceLocking="false" 
         docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

обратите внимание, что атрибут allow Valve элемент является постоянным выражение, соответствующее IP-адресу подключающегося узла. Другие Valve классы обслуживают другие правила (например RemoteHostValve для сопоставления имен узлов).

после того, как изменения выше были сделаны, вы должны быть представлены с диалогом аутентификации при доступе к URL-адресу менеджера. Если вы введете данные, которые вы предоставили в tomcat-users.xml вы должны иметь доступ к менеджеру.

для 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), вы можете увидеть страницу менеджера.

Following two configuration is working for me.

1 .tomcat-users.xml details
--------------------------------
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="manager-jmx"/>
  <role rolename="manager-status"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <role rolename="tomcat"/>


  <user  username="tomcat"  password="tomcat" roles="tomcat"/>

  <user  username="admin"  password="admin" roles="admin-gui"/>

  <user  username="adminscript"  password="adminscrip" roles="admin-script"/>

  <user  username="tomcat"  password="s3cret" roles="manager-gui"/>
  <user  username="status"  password="status" roles="manager-status"/>

  <user  username="both"    password="both"   roles="manager-gui,manager-status"/>

  <user  username="script"  password="script" roles="manager-script"/>
  <user  username="jmx"     password="jmx"    roles="manager-jmx"/>

2. context.xml  of <tomcat>/webapps/manager/META-INF/context.xml and 
<tomcat>/webapps/host-manager/META-INF/context.xml
------------------------------------------------------------------------
<Context antiResourceLocking="false" privileged="true" >

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow=".*" />
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter$LruCache(?:$1)?|java\.util\.(?:Linked)?HashMap"/>

Comments

    Ничего не найдено.