【トラブル】【Tomcat 】Tomcat Webアプリケーションマネージャで「403 Access Denied」が返ってくる

■ 現象

以下の「環境」下において、
https://blogs.yahoo.co.jp/dk521123/37327908.html
の同様に、設定し、ブラウザで
~~~~
https://【ホスト名】/manager/html/list
~~~~
にアクセスしたら、「403 Access Denied」が表示された。

【調査1】
ローカル上で、
~~~~
curl http://localhost:8080/manager/html/list
~~~~
を実行したところ、「401 Unauthorized」が返ってきた。

 => ただ、これは、Basic認証を通していないので、正常動作。
 => 設定自体は問題なさそう

環境

 * OS     : CentOS7
 * Tomcat : Tomcat v8.5
 * JDK    : Java1.8

■ 原因

デフォルトでは、
$CATALINA_HOME/webapps/manager/META-INF/context.xml
で、ローカル以外のアクセスしないように
アクセス制限している

■ 解決策

$CATALINA_HOME/webapps/manager/META-INF/context.xml
を、以下「修正後」のように修正する

$CATALINA_HOME/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" >
  <!-- Comment Out
  <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>


関連記事

TomcatTomcat Webアプリケーションマネージャ

https://blogs.yahoo.co.jp/dk521123/37327908.html