エラーページでJettyのバージョンを非表示にする

【環境】
・Jetty 9.4/10.0
ソースコード版(dnf 等でインストールするものではない)
Apacheのmod_proxyでJettyと連携


Jettyを扱う機会があった際、エラーページのバージョン表示が気になった。

404なページへアクセスした際、次のような画面が表示される。

下部に「Powered By」でバージョンが表示されるので、これを非表示にする方法を調べた。

Jetty 9.4の場合

${JETTY_HOME}/etc/jetty.xml を次のように修正する。

<Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion" deprecated="jetty.send.server.version" default="true" /></Set>
   ↓
<Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion" deprecated="jetty.send.server.version" default="false" /></Set>

Jetty 10.0の場合

${JETTY_HOME}/etc/jetty.xml を次のように修正する。

<Set name="sendServerVersion" property="jetty.httpConfig.sendServerVersion"/>
   ↓
<Set name="sendServerVersion"><Property name="jetty.httpConfig.sendServerVersion" default="false"/></Set>

10.0の場合は、9.4より設定が面倒。
近くにある 「jetty.httpConfig.sendDateHeader」の設定を参考に、「Property」を追加する。


いずれの場合も、設定変更後はサービスを再起動する。
(※systemctl で制御できる場合のコマンド例)

# systemctl restart jetty.service


なお、上記を変更すると、HTMLタグに表示されていたバージョンのほか、httpdヘッダに出力されていた

Server: Jetty(10.0.11)

の情報も出力されなくなる。


Jettyのバージョンは消えるが、標準では以下のようなヘッダが出力される(AlmaLinux、httpsの場合)。

Server: Apache/2.4.37 (AlmaLinux) OpenSSL/1.1.1k

こちらは、httpdの設定で「ServerTokens Prod」を指定すれば、バージョン情報等は削除され、

Server: Apache

となる。