Cabeçalhos de resposta do Resource Monitoring Tool do Tableau (RMT)
Este artigo descreve como definir cabeçalhos de resposta personalizados do Resource Monitoring Tool do Tableau. Essa capacidade foi adicionada nas versões de manutenção de agosto de 2024 do RMT.
Quaisquer alterações nos cabeçalhos de resposta exigem uma reinicialização do RMT.
Importante: alterações nos cabeçalhos de resposta podem interromper o RMT. Se você fizer atualizações nos cabeçalhos, faça testes depois de fazer qualquer alteração para confirmar se o RMT está funcionando como deveria.
Visualização e atualização de cabeçalhos de resposta personalizados
Você pode visualizar e alterar os cabeçalhos de resposta personalizados usando os comandos rmtadmin get e rmtadmin set.
Obter uma lista de todos os cabeçalhos de resposta personalizados
Para visualizar uma lista de cabeçalhos de resposta personalizados definidos atualmente, execute este comando:
rmtadmin get server:web:responseheaders
Por exemplo:
> 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
Obter o valor de um cabeçalho de resposta personalizado específico
Para obter um cabeçalho de resposta personalizado específico:
rmtadmin get server:web:responseheader:<some header>
Por exemplo:
> rmtadmin get server:web:responseheader:X-Frame-Options server:web:responseHeaders:X-Frame-Options = DENY
Se você tentar obter ou definir um cabeçalho de resposta personalizado inexistente, esse erro será exibido:
> rmtadmin get server:web:responseheaders:<non-existent header> [ERR] Config key not found. Key: server:web:responseHeaders:<non-existent header>
Você pode obter várias chaves. Todas as duplicatas são descartadas. As chaves inválidas serão listadas no final:
> 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
Definir ou atualizar um cabeçalho de resposta personalizado específico
Para definir ou alterar um cabeçalho de resposta personalizado específico:
rmtadmin set server:web:responseheader:<some header>
Por exemplo:
> 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
Cabeçalhos são uma sequência do cabeçalho completo e quaisquer pares de chave-valor (se aplicável).
Por exemplo, isso define o tempo limite de manutenção ativa e os valores máximos:
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"
Remover um cabeçalho de resposta personalizado
> rmtadmin set server:web:responseheaders:X-Frame-Options --remove Config value successfully removed. Key: server:web:responseHeaders:X-Frame-Options
Remover um valor de configuração comum
Não é possível remover um valor de configuração comum, você receberá um erro se tentar fazer isso:
> rmtadmin set db:username --remove [ERR] The --remove argument is not valid for this key. Key: db:username
Definir um valor de cabeçalho de resposta personalizado como um valor vazio
Com todas as chaves rmtadmin set, exceto o cabeçalho de resposta personalizado, você deve incluir um valor. Com cabeçalhos de resposta personalizados, você pode definir uma chave como sem valor. Este exemplo define a chave X-Frame-Options como um valor vazio:
> 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 =
Isso é diferente de remover o cabeçalho X-Frame-Options.
Por que você deveria fazer isso? O RMT gera alguns cabeçalhos de resposta personalizados por padrão e, se quiser impedir que o RMT inclua um cabeçalho, defina a chave como um valor vazio.
Por exemplo, por padrão, o RMT gera um cabeçalho de resposta com X-Frame-Options = Deny. É possível criar um cabeçalho de resposta personalizado para X-Frame-Options:
> rmtadmin set server:web:responseheaders:X-Frame-Options ALLOW
Para voltar ao padrão, você pode removê-lo completamente ou defini-lo como DENY:
> rmtadmin set server:web:responseheaders:X-Frame-Options --remove
Mas se você não quiser que o RMT envie alguma coisa, poderá definir o valor como um valor vazio:
> rmtadmin set server:web:responseheaders:X-Frame-Options
Cabeçalhos inválidos
O RMT permite que você defina cabeçalhos de resposta inválidos. Se o cabeçalho de resposta especificado não for válido, o RMT o avisará, mas permitirá que você defina o valor. É sua responsabilidade verificar se o RMT está funcionando corretamente após atualizar os cabeçalhos de resposta.
Não é possível definir “responseheaders”. Você só pode definir chaves filhas individuais no cabeçalho de resposta.
rmtadmin set server:web:responseheaders [ERR] Key cannot be set: server:web:responseHeaders
Importante: Teste o RMT após fazer quaisquer alterações nos cabeçalhos de resposta.
