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

时间:2017-09-08 20:01:00

标签: payara-micro

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

例如,它会报告:

Server

我想摆脱glassfish-web.xml行。

我看到issue 32在理论上提供了禁用此功能的能力。 associated pull request当然似乎表明有一些属性可以用来禁用它。我可以从中推断出,如果这是一个成熟的服务器并且点击某处的复选框,我可能会进入管理GUI。

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

我缺少的是一个简单的“把它放在命令行上” - 指令类型,我似乎无法在任何地方找到它。是否有一个设置,例如asadmin - 我可以使用Payara修改的设置?还是命令行开关?或者我可以在预启动脚本中设置特定的Windows Logs\Application属性?   想法?

1 个答案:

答案 0 :(得分:0)

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

没有用于设置此属性的本机asadmin命令,因此您需要使用asadmin set命令,并为要修改的侦听器使用正确的点名称。要了解这是什么,您可以使用带有通配符和grep的get命令获取所需的值,如下面的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

然后,您可以使用prebootcommandfile应用它们,如下所示:

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

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