Os cabeçalhos de resposta de saída dos POPs do Edge Security Acceleration (ESA) transmitem parâmetros de resposta ao cliente. Configure os cabeçalhos de resposta dos POPs do ESA para controlar quais cabeçalhos retornam com os recursos. O ESA permite adicionar, modifique e exclua regras de cabeçalho de resposta.
Visão geral
Quando um cliente solicita um recurso, a requisição chega ao ESA. Se o cache do POP do ESA falhar, o ESA envia uma requisição à origem para recuperar os dados. Em seguida, o POP do ESA modifica os cabeçalhos de resposta conforme suas regras — adicionando, substituindo ou excluindo campos específicos — antes de retornar o recurso ao cliente. Isso possibilita o controle de acesso entre domínios, a otimização de políticas de cache e casos de uso semelhantes.
Casos de uso
Especifique o tipo de recurso de resposta do ESA: Adicione um cabeçalho
Content-Type: text/htmlpara informar ao cliente que a resposta do ESA é HTML e garantir a renderização correta.Ative acesso a recursos de origens diferentes: Quando um usuário solicitar um recurso de um domínio no ESA, configure o cabeçalho de resposta
Access-Control-Allow-Origindo ESA para permitir o acesso entre origens . Para obter mais informações, consulte Configurar compartilhamento de recursos de origem cruzada.Personalizar o comportamento da resposta: Adicione ou modifique cabeçalhos personalizados para ajustar o conteúdo e o formato da resposta ou utilize-os para rastreamento.
Ordem de execução das regras
Várias regras são executadas sequencialmente, de cima para baixo. Uma regra posterior com o mesmo nome de cabeçalho de resposta substitui as anteriores, o que pode gerar resultados inesperados.
Exemplo 1
A mensagem de resposta contém o cabeçalho
test:123.Uma regra define o cabeçalho de resposta
test:321.
Se a mensagem de resposta corresponder à regra, o cabeçalho original test:123 será substituído por test:321.
Exemplo 2
A mensagem de resposta contém o cabeçalho
test:123.Uma regra define o cabeçalho de resposta
test:321. Em seguida, outra regra exclui o cabeçalho de respostatest.
Se a mensagem de resposta corresponder às regras, o cabeçalho original test:123 será excluído.
Procedimento
No console do ESA, selecione Websites. Na coluna Websites, clique em no site desejado.
No painel de navegação à esquerda, escolha .
Selecione a aba Modify Response Header, clique em na seção ESA to Client e, em seguida, clique em Create Rule.

Clique em Create Rule. Na seção Create Rule, defina as características da requisição do usuário a serem correspondidas. Para obter mais informações sobre como configurar regras, consulte Componentes de uma expressão de regra.
-
Na seção If requests match..., selecione uma Modify Response Header, insira um Operation e um Response Header Name e clique em Response Header Value.
NotaNão defina um OK que comece com
ali-innerouali-swift.É possível configurar vários valores no campo Response Header Name. Separe-os por vírgulas (
,).A operação de exclusão funciona da mesma forma para esquemas estáticos e dinâmicos.
A operação de modificação altera um cabeçalho de resposta existente e só entra em vigor quando já existe um cabeçalho com o nome especificado na resposta original.
Exemplo de configuração
Se você usar o OSS como servidor de origem e configurar o CORS nos consoles do OSS e do ESA, a configuração do ESA substituirá as configurações de CORS do OSS.
Aplicar a todas as requisições
Caso de uso
Permitir que todas as requisições do seu site (example.com) acessem recursos de qualquer origem.
Etapas
No console do ESA, selecione Websites. Na coluna Response Header Value, clique em no site desejado.
No painel de navegação à esquerda, escolha . Na página Transform Rules, clique em na aba Modify Response Header. Defina Response Header Position como ESA to Client e clique em no botão Create Rule.

-
Na página Create Response Header Modification Rule, configure os parâmetros da seguinte forma:
Rule Name: Insira um nome de regra personalizado, como
rule-cors-for-all.If requests match...: Selecione All Requests.
-
Then execute...: Configure os seguintes parâmetros:
Type: Selecione Static.
Operation: Selecione Add.
Response Header Name: Insira
Access-Control-Allow-Origin.Response Header Value: Insira
*.

Resultado
Para qualquer requisição de origem cruzada, o ESA adiciona o cabeçalho Access-Control-Allow-Origin: * à resposta, permitindo que o navegador exiba o recurso de origem cruzada.

Aplicar a requisições específicas
Caso de uso
Permitir acesso entre origens quando o cabeçalho origin corresponder a um subdomínio de example.com via HTTP ou HTTPS. Por exemplo:
origin:http://www.example.comorigin:https://www.example.comorigin:http://image.example.comorigin:https://image.example.com
O valor do cabeçalho de resposta CORS deve corresponder ao cabeçalho origin na requisição.
Etapas de configuração
No console do ESA, selecione Websites. Na coluna Website, clique em no site desejado.
No painel de navegação à esquerda, escolha . Na página Website, clique em na aba Rules. Defina Response Header Position como Transform Rules e clique em no botão Transform Rules.

-
Na página Modify Response Header, configure os parâmetros da seguinte forma:
ESA to Client: Insira um nome de regra personalizado, como
rule-cors-origin.-
Create Rule: Para este exemplo, defina a condição como Create Response Header Modification Rule Value of origin Rule Name ^https?://(?:a-zA-Z0-9?\.)+example\.com$.
Você também pode edite diretamente a expressão da seguinte forma:
(http.request.headers["origin"] matches "^https?://(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?\.)+example\.com$")NotaSe o seu plano não oferecer suporte a correspondência com expressões regulares, use o operador If requests match... e liste os valores de cabeçalho de origem permitidos.
Você também pode edite diretamente a expressão da seguinte forma:
(http.request.headers["origin"] in {"http://www.example.com" "https://www.example.com" "http://image.example.com" "https://image.example.com"})
-
Header: Configure os seguintes parâmetros:
matches regex: Selecione is in.
Then execute...: Selecione Type.
Dynamic: Insira
Access-Control-Allow-Origin.Operation: Insira
http.request.headers["origin"].

Resultado
Quando o cabeçalho origin em uma requisição de origem cruzada corresponder à regra, o ESA adicionará o cabeçalho Access-Control-Allow-Origin com o valor proveniente do cabeçalho Origin do cliente. O navegador então processa a resposta e exibe o recurso de origem cruzada.

Parâmetros de cabeçalho de resposta
|
Parâmetro do cabeçalho de resposta |
Descrição |
Exemplo |
|
Personalizado |
Adicione cabeçalhos de resposta personalizados. O nome do cabeçalho deve atender aos seguintes requisitos:
|
Test-Header |
|
Cache-Control |
Define o mecanismo de cache para requisições e respostas do cliente. |
no-cache |
|
Content-Disposition |
Especifica o nome de arquivo padrão quando o cliente salva o conteúdo como um arquivo. |
examplefile.txt |
|
Content-Type |
Indica o tipo de conteúdo da resposta para o cliente. |
text/plain |
|
Pragma |
Cabeçalho geral HTTP/1.0 que define o comportamento de cache do cliente para arquivos. |
no-cache |
|
Access-Control-Allow-Origin |
Determina quais origens podem acessar o recurso, como parte do mecanismo
|
|
|
Access-Control-Allow-Methods |
Lista os métodos permitidos para requisições de origem cruzada. Separe vários métodos por vírgulas ( |
POST,GET |
|
Access-Control-Allow-Headers |
Define os campos permitidos para requisições de origem cruzada. |
X-Custom-Header |
|
Access-Control-Expose-Headers |
Indica quais cabeçalhos personalizados podem ser acessados. |
Content-Length |
|
Access-Control-Allow-Credentials |
Informa se a resposta pode ser exposta à página.
|
true |
|
Access-Control-Max-Age |
Define por quanto tempo o cliente pode armazenar em cache o resultado da requisição preflight, em segundos. |
600 |
Documentação relacionada
Os recursos relacionados a regras variam em prioridade efetiva, reentrância e granularidade efetiva. Para obter detalhes, consulte Propriedades de recursos relacionados a regras.