もう結構前の話ですが、備忘録に残しておかないといけない気がしたので。
ある日、tomcat を更新しました。それまで動いていた jsp とかが動かなくなったので、
泣きながら調べてみました。
どっかのバージョンから、tomcat の方で AJP で接続するためには、
secret という秘密の文字列が必要となり、それがないと拒絶されるようになったみたいです。
設定の仕方は conf/server.xml を以下のように修正します。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secret="秘密の文字列" />
ポート 8009 の AJP 接続のコネクタの設定で、secret 属性を追加します。
この文字列は適当に乱数で生成すればいいかなと思います。
で、Apache の mod_ajp の方でも同じ文字列を設定します。
ProxyPass ajp://tomcat.example.com:8009/ secret=同じ文字列を書く
これで、Apache の方からこの secret を使って接続するようになるので、
無事に認証が通るようになります。
なんでもセキュリティ面での脆弱性があってその対応らしい?
Changelog はちゃんと読みましょう。
参考:http://labo-blog.aegif.jp/2020/05/tomcat9webapacheajp.html