403 Accès refusé sur L'application Gestionnaire Tomcat 8 sans qu'il soit nécessaire de demander un mot de passe/utilisateur

j'ai mis en place tomcat 8 selon ce , et j'ai les tomcat-utilisateurs suivants.fichier xml:

<?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"/>
  <role rolename="manager-script"/>

  <user username="notadmin" password="not_real_pass" roles="manager-gui"/>
  <user username="cargo" password="not_real_pass" roles="manager-script"/>
<tomcat-users/>

quand j'essaie d'accéder à L'Application Manager, je me fais rejeter avec 403 sans aucune demande de nom d'utilisateur et de mot de passe.

Qu'est-ce que j'ai manqué dans la config?

Edit 1: Ajout d'un fichier xml complet.

32
demandé sur Hodossy Szabolcs 2016-07-24 13:42:57

14 réponses


la bonne réponse se trouve ici


on dirait que ce numéro peut être reproduit en suivant le tutoriel mentionné sur les machines unix. A également remarqué que l'auteur utilise TC 8.0.33

Win (et OSX) n'ont pas un tel problème, au moins sur mon env:

Server version:        Apache Tomcat/8.5.4
Server built:          Jul 6 2016 08:43:30 UTC
Server number:         8.5.4.0
OS Name:               Windows 8.1
OS Version:            6.3
Architecture:          amd64
Java Home:             C:\TOOLS\jdk1.8.0_101\jre
JVM Version:           1.8.0_101-b13
JVM Vendor:            Oracle Corporation
CATALINA_BASE:         C:\TOOLS\tomcat\apache-tomcat-8.5.4
CATALINA_HOME:         C:\TOOLS\tomcat\apache-tomcat-8.5.4

après tomcat-users.xml est modifié en ajoutant le rôle et l'utilisateur Tomcat Web Application Manager peut être consulté sur Tomcat/8.5.4 .

7
répondu Gerardas 2017-05-25 18:42:57

cela peut être du travail.

Trouvez le fichier CATALINA_HOME/webapps/manager/META-INF/context.xml et ajoutez les marqueurs de commentaires autour de la 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>

vous trouverez plus de détails sur cette page.

85
répondu fade 2016-10-27 19:18:09

la solution qui a fonctionné pour moi est d'éditer context.xml les fichiers $CATALINA_HOME/webapps/manager/META-INF et $CATALINA_HOME/webapps/host-manager/META-INF où mon ip est 123.123.123.123 .

<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|123.123.123.123" />
</Context>

j'ai installé Tomcat 8.5 sur Ubuntu et édité $CATALINA_HOME/conf/tomcat-users.xml :

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

cependant, je ne pouvais toujours pas accéder à la fois Tomcat Web Application Manager ( localhost:8080/manager/html ) et Tomcat Virtual Host Manager ( localhost:8080/host-manager/html ) jusqu'à ce que je édite les fichiers context.xml .

9
répondu kimbaudi 2016-12-22 15:05:42

lien utile ici: accéder à L'application Tomcat Manager à partir d'un hôte différent

à partir de la version 8 de Tomcat, l'url manager/html ne sera accessible qu'à localhost.

pour accéder à l'url /manager/html, vous devez modifier le contexte ci-dessous.xml de l'application gestionnaire. 1. Aller à /apache-tomcat-8.5.23/webapps/manager/META-INF location, puis éditer contexte.xml

<Context antiResourceLocking="false" privileged="true" >
  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="^.*$" />
 ......
</Context>
  1. redémarrez le serveur.
5
répondu Vish 2017-10-09 09:29:24

je dois modifier les fichiers suivants ""

$CATALINA_BASE/conf/Catalina/localhost/manager.xml et ajouter la ligne suivante

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

cela permettra à tomcat d'être accédé à partir de n'importe quelle machine, si vous voulez accorder l'accès à L'IP spécifique puis utiliser la valeur ci-dessous au lieu de allow="^.*$"

    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="192\.168\.11\.234" />
4
répondu user2720864 2017-12-20 11:31:24

si aucun des éléments ci-dessus ne fonctionne pour vous, assurez-vous que tomcat a accès au dossier manager sous webapps (chown ...). Le message est exactement le même message, et Il m'a fallu 2 heures pour comprendre le problème. :- )

juste pour quelqu'un d'autre qui est venu ici pour la même question que moi.

2
répondu alizelzele 2016-09-27 07:14:48

la réponse de fade a fonctionné pour moi. Je suis passé de 8.0.30 à 8.5.5 et la différence était la valve dans <8.0.30>/manager/META-INF/context.xml a déjà été commenté de le fichier tar mais était Non complété dans 8.5.5 tar.

j'ai omis de lire ce message important dans la réponse 403:

par défaut, le Gestionnaire n'est accessible que depuis un navigateur la même machine que Tomcat. Si vous souhaitez modifier cette restriction, vous devrez éditer le contexte du Manager.fichier xml.

et n'a pas réussi à lire cela aussi:

depuis r1734267 un RemoteAddrValve.est configuré par défaut dans le Gestionnaire et des applications Web HostManager. Cette fonctionnalité est présente dans 9.0.0.M4 et 8.5.0 partir.

https://bz.apache.org/bugzilla/show_bug.cgi?id=59672

1
répondu Jim 2016-10-11 19:39:29

j'ai bêtement décommenté la configuration par défaut, qui a des mots de passe comme"". Tomcat ne parvient pas à analyser ce fichier (à cause du"<"), Et alors toute autre configuration que vous ajoutez ne fonctionnera pas -

1
répondu chrismarx 2016-10-30 23:17:26

copier le contenu ci-dessous dans le fichier tomcat-users.xml

<?xml version='1.0' encoding='utf-8'?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<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">
<!--
  NOTE:  By default, no user is included in the "manager-gui" role required
  to operate the "/manager/html" web application.  If you wish to use this app,
  you must define such a user - the username and password are arbitrary. It is
  strongly recommended that you do NOT use one of the users in the commented out
  section below since they are intended for use with the examples web
  application.
-->
<!--
  NOTE:  The sample user and role entries below are intended for use with the
  examples web application. They are wrapped in a comment and thus are ignored
  when reading this file. If you wish to configure these users for use with the
  examples web application, do not forget to remove the <!.. ..> that surrounds
  them. You will also need to set the passwords to something appropriate.
-->
<!--
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
  <user username="role1" password="<must-be-changed>" roles="role1"/>
-->
<role rolename="manager-gui"/>
<role rolename="manager-script"/>

<user username="notadmin" password="not_real_pass" roles="manager-gui"/>
<user username="cargo" password="not_real_pass" roles="manager-script"/>


</tomcat-users>

j'ai testé, ça marche!

enter image description here

0
répondu Do Nhu Vy 2016-07-24 13:51:42

j'ai suivi le même tutoriel mais après quelques mois j'ai étrangement EU l'erreur" accès 403 refusé " alors que j'ai essayé D'utiliser L'Application Manager. Dans ce cas, j'utilisais l'ipaddress:8080 dans la barre d'adresse et L'application Tomcat Manager qui ne demandait pas l'utilisateur/mot de passe. Dans le cas de localhost: 8080, l'erreur était "401", la boîte de dialogue demandant le nom d'utilisateur et le mot de passe était affichée mais l'utilisateur n'était pas reconnu.

j'ai essayé toutes les suggestions / solutions précédentes sans chance. le seul moyen que j'ai trouvé est de répéter à nouveau l'ensemble du tutoriel en écrasant aussi les fichiers. une fois terminé, j'ai retrouvé l'ancien projet déployé dans le répertoire webapps. Maintenant Apache Tomcat / 8.5.16 Manager App fonctionne à nouveau. Je ne sais pas ce qui s'est passé je n'ai pas compris aussi parce que je suis un internaute novice dans Tomcat user

0
répondu Luigi D'Alessio 2017-09-11 18:17:04

j'ai dû ajouter à la fois manager-gui et manager-script rôles pour qu'il fonctionne, dans la version 9.

après avoir obtenu L'accès à MangerApp, tout en essayant de télécharger .la guerre de fichier, j'ai obtenu l'exception

org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException

que j'ai pu résoudre en utilisant la réponse de ce post

pour accéder à Host Manager , cochez post

0
répondu Sameer Sinha 2017-10-12 07:29:08

j'avais le même problème lors de l'installation de tomcat dans docker. J'ai résolu en ajoutant "^.*$" au lieu de "127.\d+.\d+.\d+|::1/0:0:0:0:0:0:0:1/123.123.123.123"

redémarrez le tomcat.

0
répondu Prasad MCN 2017-12-11 10:53:47

la bonne réponse est comme @JaKu l'a souligné. Tomcat restreint l'accès à localhost pour le sécuriser. C'est ainsi que cela devrait être. Le transfert de Port vers tomcat est la bonne chose à faire, de préférence sous quelque chose de Sécurisé comme SSH.

0
répondu Outfast Source 2018-07-11 20:24:10

dans mon cas, c'était les contraintes de sécurité définies dans le web.XML. Assurez-vous qu'ils ont les mêmes rôles que vous utilisez dans votre "151910920 de fichier".

par exemple, c'est l'une des étiquettes out-of-the-box et fonctionnera avec les tomcat-users standard.XML.

 <security-constraint>
    <web-resource-collection>
      <web-resource-name>HTML Manager interface (for humans)</web-resource-name>
      <url-pattern>/html/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
       <role-name>manager-gui</role-name>
    </auth-constraint>
  </security-constraint>

dans mon cas, un administrateur avait utilisé un nom de rôle différent qui m'empêchait d'accéder au gestionnaire.

0
répondu Mustafa 2018-10-04 06:53:14