如何删除 Payara Micro 172 中的服务器 header?

How can I remove the Server header in Payara Micro 172?

我想从 Payara Micro 的输出中删除服务器 header。

例如,它报告:

HTTP/1.1 200 OK
Server: Payara Micro #badassfish

我想删除那行 Server

我看到 issue 32 provided the capability in theory to disable this. The associated pull request 似乎确实表明正在咨询某种 属性 来禁用它。我可以由此推断,如果这是一个 full-fledged 服务器并单击某处的复选框,我大概可以进入管理 GUI。

但我是 运行 Payara Micro,需要在启动时从命令行完全配置。

我缺少的是简单的 "put this on the command line" 类型的说明,我似乎无法在任何地方找到它。我可以使用 glassfish-web.xml-as-modified-by-Payara 中的设置吗?还是命令行开关?或者我可以在 pre-boot 脚本中设置特定的 asadmin 属性? 想法?

您引用的更改链接到 pull request,它向 http-listener 添加了一个布尔值 server-header 属性,这将禁用 header。

没有本机 asadmin 命令来设置此 属性,因此您需要使用 asadmin set 命令,并为要修改的侦听器提供正确的点分名称。要找出这是什么,您可以使用带通配符的 get 命令,并使用 grep 获取您想要的值,如下所示,使用 Payara Server:

➜  ~ /opt/payara/server/171.1/bin/asadmin get "*" | grep server-header  
configs.config.default-config.network-config.protocols.protocol.http-listener-2.http.server-header=true
configs.config.default-config.network-config.protocols.protocol.http-listener-1.http.server-header=true
configs.config.default-config.network-config.protocols.protocol.admin-listener.http.server-header=true
configs.config.server-config.network-config.protocols.protocol.admin-listener.http.server-header=true
configs.config.default-config.network-config.protocols.protocol.sec-admin-listener.http.server-header=true
configs.config.server-config.network-config.protocols.protocol.http-listener-1.http.server-header=true
configs.config.server-config.network-config.protocols.protocol.http-listener-2.http.server-header=true

由于 default-config 只是一个模板并没有被使用,我们需要来自 server-config 的监听​​器。 http-listener-1 默认用于 HTTP,http-listener-2 默认用于 HTTPS。要在 Payara Micro 中修改 server-header 属性,您需要使用以下命令创建一个文件(请注意,Payara Micro 默认只有一个名为 http-listener 的侦听器):

set configs.config.server-config.network-config.protocols.protocol.http-listener.http.server-header=false

然后您可以使用预启动命令文件应用这些,如下所示:

java -jar /opt/payara/micro/173/payara-micro.jar --prebootcommandfile myCommands.txt

您可能还希望通过相同的方法禁用 xpowered-by 属性。