Utilize o Terraform para adicionar, excluir ou modificar cabeçalhos de resposta HTTP nas respostas da origem para o ESA, como definir dinamicamente cabeçalhos CORS com base na solicitação.
Instale o Terraform e configure permissões
Instale e configure o Terraform no seu computador
Para obter mais informações sobre como usar o Terraform no seu computador, consulte Instale e configure o Terraform.
Crie um par de AccessKey para um usuário RAM. Uma conta Alibaba Cloud possui todas as permissões sobre os recursos. Se o par de AccessKey da sua conta Alibaba Cloud for comprometido, seus recursos ficarão expostos a grandes riscos. Recomendamos o uso do par de AccessKey de um usuário RAM. Para mais detalhes, veja Criar um AccessKey.
-
Crie variáveis de ambiente para armazenar as credenciais de identidade.
É possível criar e visualizar seu AccessKey na página AccessKey Management.
Caso as variáveis de ambiente não estejam configuradas, a verificação de identidade falhará durante a execução do modelo do Terraform.
Usar um serviço online (sem necessidade de instalação ou configuração de permissões)
Se preferir não instalar o Terraform, utilize o serviço online Cloud Shell.
O Alibaba Cloud Cloud Shell é um produto gratuito de operações e manutenção (O&M). Ele já vem com componentes do Terraform pré-instalados e credenciais de identidade configuradas, permitindo executar comandos do Terraform diretamente no Cloud Shell. Para mais informações, consulte Criar recursos com o Terraform.
Ao utilizar o Terraform no Cloud Shell, o recurso de destruição pode causar perda de dados. Recomendamos usar o Cloud Shell apenas para operações simples e rápidas, como depuração. Para saber mais sobre as limitações, veja Limites.
Recursos
Consultar informações do site: alicloud_esa_sites
Configure modificação de cabeçalho de resposta de entrada: alicloud_esa_http_incoming_response_header_modification_rule
Configure uma regra de modificação de cabeçalho de resposta de entrada
-
Crie um arquivo chamado
main.tfcom o código abaixo. Isso cria uma regra de modificação de cabeçalho de resposta de entrada (da origem para o ESA) para o seu site.# 1. Query information about an existing site.data "alicloud_esa_sites" "default" {
site_name = "{{DOMAIN}}" # Replace with the domain name of your site added to Edge Security Acceleration.
}
2. Modify an inbound response header (origin to Edge Security Acceleration): Set the Access-Control-Allow-Origin header in the response for requests with a matching Origin header.
resource "alicloud_esa_http_incoming_response_header_modification_rule" "example" {
site_id = data.alicloud_esa_sites.default.sites[0].site_id
rule_name = "cors-mirror-origin-example"
rule_enable = "on"
rule = "(http.request.headers[\"origin\"] in {\"http://www.example.com\" \"https://www.example.com\" \"http://image.example.com\" \"https://image.example.com\"})"
response_header_modification {
operation = "add"
name = "Access-Control-Allow-Origin"
value = "http.request.headers[\"origin\"]"
type = "dynamic"
}
}
-
Acesse o diretório que contém seus arquivos de configuração e execute o comando a seguir para inicializar o ambiente do Terraform.
terraform init -
Execute o comando abaixo para validar a sintaxe e a configuração do Terraform.
terraform validate -
Execute o seguinte comando para visualizar o plano de execução.
terraform plan -
Aplique a configuração executando este comando.
terraform apply Quando solicitado, insira
yespara confirmar e aplicar as alterações.
Verifique o resultado
Execute terraform show
No seu diretório de trabalho, execute o comando a seguir para visualizar os recursos criados:
terraform show
Verifique no console
No console do ESA, selecione Site Management e, na coluna Website, clique em no site desejado.
No painel de navegação à esquerda, escolha .
Clique em na aba Origin to ESA para visualizar a regra criada.
(Opcional) Limpar recursos
Quando esses recursos não forem mais necessários, execute o comando terraform destroy.
terraform destroy
Referências
Parâmetro response_header_modification.operation
O parâmetro operation no bloco response_header_modification do recurso alicloud_esa_http_incoming_response_header_modification_rule aceita os valores listados abaixo.
|
Valor |
Descrição |
Detalhes |
|
|
Adicionar |
Inclui um novo cabeçalho de resposta. |
|
|
Exclua |
Remove o cabeçalho de resposta especificado. |
|
|
Modifique |
Altera o valor de um cabeçalho de resposta existente. |
Parâmetro response_header_modification.type
O parâmetro type define se o valor do cabeçalho é uma string estática ou uma expressão dinâmica.
|
Valor |
Descrição |
Detalhes |
|
|
Estático |
O campo |
|
|
Dinâmico |
O campo |