仅从Jetty的响应标头中删除版本号

时间:2014-09-15 06:23:13

标签: jetty embedded-jetty

This answer explains how the server version header can be completely removed使用HttpConfiguration.setSendServerVersion(false)。

有没有办法保留标题,只删除版本

我正在使用Jetty 9。

1 个答案:

答案 0 :(得分:6)

有多种方法可以实现这一目标。也许最简单的(但不是最干净的)是让Jetty发送默认的服务器头,但是在启动服务器之后立即覆盖默认的版本字符串:

private Server startServer() {
    Server server = new Server();

    // ... configure connectors, whatever you like

    server.start();

    // and do this the important part: *after* server.start():
    org.eclipse.jetty.http.HttpGenerator.setJettyVersion("Jetty");

    return server;
}

这种方式jetty发送Server: Jetty标头,每个基于http的连接器(包括https)没有版本。 这是有效的,因为Jetty在静态数组中预先在服务器启动时构建这些类型的头文件。