Tomcat managerページ403の問題

6316 ワード

Tomcat managerページ403の問題
アカウントエントリの管理
Tomcat manager页面403问题_第1张图片
に質問
Tomcat管理ページでは、http://10.10.10.10:8080/manager/htmlで次のエラーが発生しました.
403 Access Denied
Tomcat manager页面403问题_第2张图片
1.Tomcat管理ユーザーの構成
Tomcatインストールディレクトリに入ります.
vim conf/tomcat-users.xml

構成の追加:





再起動後、ネイティブはアクセスできますが、リモートアクセスは403です.
2.アクセス制限の変更
Webappsの下のhost-managermanagerを開くと、共通のフォルダMETA-INFがあり、中にはcontext.xmlがあります.
Tomcatディレクトリへ:
manager:
vim webapps/manager/META-INF/context.xml

host-manager:
vim webapps/host-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>

公式ドキュメントを見ると、このコードの役割はIPへのアクセスを制限することであることがわかります.127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1は、IPv 4とIPv 6のローカルループバックアドレスを表す正規表現であるため、管理インタフェースにアクセスできる理由も説明されていますが、他のマシンは403です.
理由が見つかりました.では、ここの正規表現を変更します.たとえば、イントラネットセグメント192.168.88のみが管理ページにアクセスできるようにします.では、このように変更します.
<Context antiResourceLocking="false" privileged="true" >

  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="192.168.88.*" />
         
Context>

すべてのアドレスにアクセスできるようにするには、この行Valveを注釈すればいいです.

<Context antiResourceLocking="false" privileged="true" >

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

修正が完了したら、ブラウザを閉じてtomcatを再開し、問題解決!