Ubuntu 14.04でTomcat 8をセットアップしたところVMで、ブラウザーからhttp://[hostname]:8080/manager/html
でマネージャーアプリにアクセスできません。 "403アクセスが拒否されました「クリックするとすぐにエラーが発生します。Tomcatを/etc/init.d/Tomcat8-dev
の設定ファイルで定義されたサービスとして実行しています。ホストされたVMそれでブラウザを実行できません。
数人が推奨しているように、Tomcat-users.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-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="(redacted)" password="(redacted)"
roles="manager-gui,manager-jmx,manager-status,manager-script"/>
</Tomcat-users>
Tomcatドキュメントページ here を読んだ後、次のような<Valve />
タグをcontext.xml
に追加しようとしました。
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.Apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" />
<!--Another Valve for my local machine's IP-->
</Context>
ただし、privileged="true"
を設定するとすぐに、後で提供するバルブに関係なく、ブラウザーでサーバーに接続すると空白の白いページが表示されます。
変更を加えるたびに、Sudo service Tomcat8-dev restart
でサービスを再起動します。
私がここで読んだ投稿や他のサイトに基づいて試した他のこと:
address="0.0.0.0"
タグ内のserver.xml
に<Connector />
を追加initctl
を使用します。これは何らかの理由でサーバーにデフォルトページをロードしません私が試したことは何もありません。私の状況について詳しく知りたい場合はお知らせください。助言がありますか?
Edit:問題は、間違ったcontext.xml
ファイルを編集していたことです。正しいファイルはTomcat/webapps/manager/META-INF
にあります。 Tomcat/conf/context.xml
に誤って変更を加えていました。
AFAIK Tomcatは、デフォルト構成のlocalhostを除くすべてのホストのマネージャーアプリ(manager/html)へのアクセスをブロックします。
http:// [hostname]:8080/manager/html を使用してマネージャーGUIにアクセスできるようにするには、構成ファイルserver.xmlおよびマネージャーアプリケーションのcontext.xmlでこれを構成します。
ステップ1:[Tomcat-install-dir] /conf/server.xmlでConnector要素を編集し、IPとuseIPVHosts = "true"を追加します。
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443"
address="192.168.0.9" useIPVHosts="true" />
address = "0.0.0.0"は、おそらくネットワーク上のすべてのマシンにマネージャーGUIを公開するため、ここに挿入したいものではないでしょう。
ステップ2:[Tomcat-install-dir] /webapps/manager/META-INF/context.xmlで、Valve要素を編集してIPを追加します。
<Context antiResourceLocking="false" privileged="true">
<Valve className="org.Apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.0\.9|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>
privileged:trueに設定すると、このコンテキストがマネージャーサーブレットなどのコンテナーサーブレットを使用できるようになります。
antiResourceLocking:trueの場合、Tomcatはファイルのロックを防ぎます。これは、アプリケーションの起動時間に大きく影響しますが、ファイルロックが発生する可能性のあるプラットフォームまたは構成で完全なwebappホットデプロイおよびアンデプロイを許可します
あなたが試したもののリストで言及したように別のValve要素を追加するのではなく、代わりに既存のValve要素を編集し、自分のIP(192.168.0.9)を追加することに注意してください。
ステップ3:Tomcatを再起動すると、localhost/127.0.0.1とホスト名/ IPを使用してマネージャーGUIにアクセスできるはずです。
余談:Tomcat-users.xmlに関して、 Tomcat Manager HOW-TO 状態:
Manager-guiロールを持つユーザーにmanager-scriptロールまたはmanager-jmxロールを付与しないことをお勧めします。
そのため、Tomcat-users.xmlで2人のユーザーを紹介したい場合があります。
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="alice" password="whatever" roles="manager-script,manager-jmx"/>
<user username="bob" password="whatever" roles="manager-gui,manager-status"/>
すべてのマシンでマネージャーアプリにアクセスする場合は、次のようにするだけです。 {Tomcat_install_DIR}/webapps/manager/META-INF /に移動し、context.xml putを編集します
<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>
私も同じ問題をフェッチし、config/Tomcat-users.xmlにロールユーザーとpassowrdを最初に追加し、webapps/manager/META-INF/context.xmlにパブリックIPを許可しました同じマシン。そこにあなたのIPを追加します
変更する必要があります:
docBase="${catalina.home}/webapps/manager"
に:
docBase="${catalina.base}/webapps/manager"
これは、アップストリームから配布されているTomcatではなく、Ubuntuに付属しているTomcatを使用しているためです。
これは私のために働くので、これはあなた方全員に役立つかもしれないと思います。
ここでは、Apache Tomcat 8を使用しています。
root@akash-LIFEBOOK-A555:/opt/Apache-Tomcat-8.5.20/bin# ./version.sh
Using CATALINA_BASE: /opt/Apache-Tomcat-8.5.20
Using CATALINA_HOME: /opt/Apache-Tomcat-8.5.20
Using CATALINA_TMPDIR: /opt/Apache-Tomcat-8.5.20/temp
Using JRE_HOME: /DATA/jre1.8.0_131/
Using CLASSPATH: /opt/Apache-Tomcat-8.5.20/bin/bootstrap.jar:/opt/Apache-Tomcat-8.5.20/bin/Tomcat-juli.jar
Server version: Apache Tomcat/8.5.20
Server built: Aug 2 2017 21:35:49 UTC
Server number: 8.5.20.0
OS Name: Linux
OS Version: 4.4.0-98-generic
Architecture: AMD64
JVM Version: 1.8.0_131-b11
JVM Vendor: Oracle Corporation
Tomcat-user.xmlを編集し、ロールとユーザーを追加しました
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="admin-gui"/>
<user username="admin" password="password" roles="manager-gui,manager-status,manager-script,manager-jmx,admin-gui"/>
'Apache-Tomcat-8.5.5\webapps\manager\META-INF\context.xlmファイルを更新します。 Valueタグのコメントを外します。サーバーを再起動します
context.xmlファイル
Before :
<Context antiResourceLocking="false" privileged="true">
<Valve className="org.Apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.0\.9|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
</Context>
After change :
<Context antiResourceLocking="false" privileged="true" >
</Context>
for auto deployment: go to 'Apache-Tomcat-8.5.5\conf\context.xml' and add antiResourceLocking="true" in 'Context' tag