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

若要恢復為預設值,可以將其完全移除或設定為「拒絕」:

> 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。

感謝您的意見反應!已成功提交您的意見回饋。謝謝!