Tableau Resource Monitoring Tool (RMT) 响应标头

本文介绍如何在 Tableau Resource Monitoring Tool 中设置自定义响应标头。实现该操作的功能是在 2024 年 8 月 RMT 维护版本中添加的。

对响应标头的任何更改都需要重新启动 RMT。

重要信息:响应标头的更改可能会破坏 RMT。如果您对标头进行更新,请在更改后进行测试以确认 RMT 正常工作。

查看和更新自定义响应标头

您可以使用 rmtadmin getrmtadmin 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。

感谢您的反馈!您的反馈已成功提交。谢谢!