我想从Payara Micro的输出中删除服务器标头。
例如,它会报告:
Server
我想摆脱glassfish-web.xml
行。
我看到issue 32在理论上提供了禁用此功能的能力。 associated pull request当然似乎表明有一些属性可以用来禁用它。我可以从中推断出,如果这是一个成熟的服务器并且点击某处的复选框,我可能会进入管理GUI。
但是我正在运行Payara Micro,它需要在启动时从命令行完全配置。
我缺少的是一个简单的“把它放在命令行上” - 指令类型,我似乎无法在任何地方找到它。是否有一个设置,例如asadmin
- 我可以使用Payara修改的设置?还是命令行开关?或者我可以在预启动脚本中设置特定的Windows Logs\Application
属性?
想法?
答案 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
属性。