Tableau Resource Monitoring Tool (RMT) 响应标头
本文介绍如何在 Tableau Resource Monitoring Tool 中设置自定义响应标头。实现该操作的功能是在 2024 年 8 月 RMT 维护版本中添加的。
对响应标头的任何更改都需要重新启动 RMT。
重要信息:响应标头的更改可能会破坏 RMT。如果您对标头进行更新,请在更改后进行测试以确认 RMT 正常工作。
查看和更新自定义响应标头
您可以使用 rmtadmin get 和 rmtadmin set 命令查看和更改自定义响应标头。
获取所有自定义响应标头的列表
若要查看当前设置的自定义响应标头的列表,请运行以下命令:
rmtadmin get server:web:responseheaders
例如:
> rmtadmin get server:web:responseheaders server:web:responseHeaders:Access-Control-Allow-Origin = * server:web:responseHeaders:Connection = Keep-Alive server:web:responseHeaders:X-Frame-Options = DENY server:web:responseHeaders:X-Cache-Info = not cacheable; meta data too large
获取特定自定义响应标头的值
若要获取特定自定义响应标头,请执行以下操作:
rmtadmin get server:web:responseheader:<some header>
例如:
> rmtadmin get server:web:responseheader:X-Frame-Options server:web:responseHeaders:X-Frame-Options = DENY
如果您尝试获取或设置不存在的自定义响应标头,则会显示以下错误:
> rmtadmin get server:web:responseheaders:<non-existent header> [ERR] Config key not found. Key: server:web:responseHeaders:<non-existent header>
您可以获取多个密钥。任何重复项都被丢弃。末尾将列出无效的键:
> rmtadmin get server:web:responseheaders server:web:responseheaders:SomethingNew server:web:responseHeaders:Connection server:web:responseHeaders:Access-Control-Allow-Origin = * server:web:responseHeaders:Connection = Keep-Alive server:web:responseHeaders:X-Frame-Options = DENY server:web:responseHeaders:X-Cache-Info = not cacheable; meta data too large [ERR] Config key not found. Key: server:web:responseheaders:SomethingNew
设置或更新特定自定义响应标头
若要设置或更改特定自定义响应标头,请执行以下操作:
rmtadmin set server:web:responseheader:<some header>
例如:
> rmtadmin set server:web:responseheaders:X-Frame-Options = Allow Config value set successfully. Key: server:web:responseHeaders:X-Frame-Options server:web:responseHeaders:X-Frame-Options = Allow
标头是由完整标头和任何键值对组成的字符串(如果适用)。
例如,这设置了保持活动超时和最大值:
rmtadmin set server:web:responseheader:connection "Keep-Alive: timeout=5, max=997" Config value set successfully. Key: server:web:responseHeaders:Connection server:web:responseHeaders:Connection = "Keep-Alive: timeout=5, max=997"
移除自定义响应标头
> rmtadmin set server:web:responseheaders:X-Frame-Options --remove Config value successfully removed. Key: server:web:responseHeaders:X-Frame-Options
移除常规配置值
您无法移除常规配置值,如果尝试这样做,将会收到错误:
> rmtadmin set db:username --remove [ERR] The --remove argument is not valid for this key. Key: db:username
将自定义响应标头值设置为空值
对于除自定义响应标头外的所有 rmtadmin set 键,您必须包含一个值。使用自定义响应标头,您可以将键设置为无值。此示例将 X-Frame-Options 键设置为空值:
> rmtadmin set server:web:responseheaders:X-Frame-Options Config value set successfully. Key: server:web:responseheaders:X-Frame-Options server:web:responseheaders:X-Frame-Options =
这与移除 X-Frame-Options 标头不同。
为什么要这么做?默认情况下,RMT 会生成一些自定义响应标头,如果您想阻止 RMT 包含标头,您可以将键设置为空值。
例如,默认情况下,RMT 会生成包含 X-Frame-Options = Deny 的响应标头。您可以为 X-Frame-Options 创建自定义响应标头:
> rmtadmin set server:web:responseheaders:X-Frame-Options ALLOW
若要恢复为默认设置,您可以将其完全移除或设置为“DENY”:
> rmtadmin set server:web:responseheaders:X-Frame-Options --remove
但是,如果您不希望 RMT 发送任何内容,则可以将其设置为空值:
> rmtadmin set server:web:responseheaders:X-Frame-Options
无效标头
RMT 允许您设置无效响应标头。如果您指定的响应标头无效,RMT 将发出警告,但允许您设置该值。更新响应标头后,您有责任验证 RMT 是否正常工作。
您不能设置“responseheaders”。您只能在响应标头内设置单独的子键。
rmtadmin set server:web:responseheaders [ERR] Key cannot be set: server:web:responseHeaders
重要信息:对响应标头进行任何更改后测试 RMT。
