secretRequired の設定により、Jira Server で AJP が開始に失敗する

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

問題

Jira が Apache Tomcat 8.5.51 以降 (Jira 8.11 以降にバンドル) で AJP プロトコルを使って実行するように構成されているときに、コネクタが開始に失敗し、サーバー ログに次の例外が返される ($Jira_INSTALL/logs フォルダ)。

16-Aug-2020 23:56:00.578 SEVERE [main] org.apache.catalina.core.StandardService.startInternal Failed to start connector [Connector[AJP/1.3-9165]]
    org.apache.catalina.LifecycleException: Protocol handler start failed
        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1102)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardService.startInternal(StandardService.java:440)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:766)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:688)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474)
    Caused by: java.lang.IllegalArgumentException: The AJP Connector is configured with secretRequired="true" but the secret attribute is either null or "". This combination is not valid.
        at org.apache.coyote.ajp.AbstractAjpProtocol.start(AbstractAjpProtocol.java:274)
        at org.apache.catalina.connector.Connector.startInternal(Connector.java:1100)
        ... 12 more

(info) ご利用の Jira にバンドルされている Tomcat のバージョンが不明な場合はこちらのページをご確認ください。

原因

このエラーは、Apache Tomcat 8.5.51 以降では secretRequired パラメーターがデフォルトで true に設定されているために発生します。secretRequiredtrue の場合、AJP/1.3 Connector は、secret 属性が非 null のゼロ長ではない文字列に構成されている場合を除き、開始しません。

ソリューション

server.xml で AJP コネクタに secret を提供し、それがプロキシ レベルで既存の AJP 構成に一致する必要があります。この構成の詳細については公式の mod_proxy_ajp ドキュメントをご確認ください。この secret のパスワードはリバース プロキシ (例: proxypass) でも定義されている必要があり、このオプションは Apache HTTPD バージョン 2.5 以降で利用できることにご注意ください。もう 1 つの潜在的なソリューションとして、server.xmlsecretRequired="false" を指定することで、この要件を無効化できます。ただし、これはセキュリティ上の懸念により推奨されません。

To be clear:

Options such as the secret option of Tomcat... can just be added as a separate parameter at the end of ProxyPass or BalancerMember This parameter is available in Apache HTTP Server 2.4.42 and later.


説明
製品

最終更新日 2023 年 8 月 16 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.