【環境】
・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
となる。