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
若要恢復為預設值,可以將其完全移除或設定為「拒絕」:
> 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。
