Tableau Resource Monitoring Tool (RMT) Response Headers
This article describes how to set custom response headers in Tableau Resource Monitoring Tool. The ability to do this was added in August 2024 maintenance releases of RMT.
Any changes to response headers require a restart of RMT.
Important: Changes to response headers can break RMT. If you make updates to headers, test after making any changes to confirm that RMT is working as it should.
Viewing and updating custom response headers
You can view and change custom response headers using rmtadmin get and rmtadmin set commands.
Get a list of all custom response headers
To view a list of currently set custom response headers, run this command:
rmtadmin get server:web:responseheaders
For example:
> 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
Get a the value of a specific custom response header
To get a specific custom response header:
rmtadmin get server:web:responseheader:<some header>
For example:
> rmtadmin get server:web:responseheader:X-Frame-Options server:web:responseHeaders:X-Frame-Options = DENY
If you attempt to get or set a non-existent custom response header, this error displays:
> rmtadmin get server:web:responseheaders:<non-existent header> [ERR] Config key not found. Key: server:web:responseHeaders:<non-existent header>
You can get multiple keys. Any duplicates are discarded. Invalid keys will be listed at the end:
> 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
Set or update a specific custom response header
To set or change a specific custom response header:
rmtadmin set server:web:responseheader:<some header>
For example:
> 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
Headers are a string of the complete header and any key-value pairs (if applicable).
For example, this sets the keep alive timeout and max values:
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"
Remove a custom response header
> rmtadmin set server:web:responseheaders:X-Frame-Options --remove Config value successfully removed. Key: server:web:responseHeaders:X-Frame-Options
Remove a regular config value
You cannot remove a regular config value and will get an error if you attempt to do so:
> rmtadmin set db:username --remove [ERR] The --remove argument is not valid for this key. Key: db:username
Setting a custom response header value to an empty value
With all rmtadmin set keys except the custom response header, you must include a value. With custom response headers you can set a key to no value. This example sets the X-Frame-Options key to and empty value:
> 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 =
This is different than removing the X-Frame-Options header.
Why would you want to do this? RMT generates some custom response headers by default and if you want to stop RMT from including a header you can set the key to an empty value.
For example, by default RMT generates a response header with X-Frame-Options = Deny. You can create a custom response header for X-Frame-Options:
> rmtadmin set server:web:responseheaders:X-Frame-Options ALLOW
To go back to the default you can remove it entirely or set it to DENY:
> rmtadmin set server:web:responseheaders:X-Frame-Options --remove
But if you do not want RMT to send anything you can set it to an empty value:
> rmtadmin set server:web:responseheaders:X-Frame-Options
Invalid headers
RMT allows you to set invalid response headers. If the response header you specify is not a valid one, RMT will warn you but allow you to set the value. It is your responsibility to verify that RMT is working properly after updating response headers.
You cannot set "responseheaders". You can only set individual child keys within the response header.
rmtadmin set server:web:responseheaders [ERR] Key cannot be set: server:web:responseHeaders
Important: Test RMT after making any changes to the response headers.
