Ir para o conteúdo

Como configuro o CloudFront para encaminhar o cabeçalho do host para a origem?

3 minuto de leitura
0

A origem configurada na minha distribuição do Amazon CloudFront usa hospedagem virtual. Quero configurar minha distribuição para encaminhar o cabeçalho do host para meu servidor de origem.

Breve descrição

Para configurar sua distribuição para encaminhar o cabeçalho do host para a origem, execute uma das seguintes ações:

  • Crie uma política de cache e uma política de solicitação de origem.
  • Edite as configurações de um comportamento existente na distribuição.

Se você criar uma política personalizada para origens do Amazon API Gateway sem um domínio personalizado, não encaminhe o cabeçalho host. Caso contrário, você receberá "403 error".

Importante: para as origens do Amazon Simple Storage Service (Amazon S3), o CloudFront não aceita caches baseados no cabeçalho host. Para mais informações, consulte Selecionar os cabeçalhos para basear o armazenamento em cache.

Resolução

Crie uma política de cache e uma política de solicitação de origem

Conclua as etapas a seguir:

  1. Abra o console do CloudFront.
  2. No painel de navegação, selecione Políticas.
  3. Na seção Políticas personalizadas, escolha Criar política de cache.
  4. Em Configurações da chave de cache, em Cabeçalhos, escolha Incluir os cabeçalhos a seguir.
  5. Na lista suspensa Adicionar cabeçalho, escolha Host.
  6. Realize todas as demais configurações da política de cache com base em seus requisitos.
  7. Escolha Criar.
  8. Anexe as políticas ao comportamento relevante da sua distribuição do CloudFront.

Editar as configurações de um comportamento existente na distribuição

Conclua as etapas a seguir:

  1. Abra o console do CloudFront.
  2. Selecione sua distribuição.
  3. Selecione a aba Comportamentos e, em seguida, selecione o caminho para o qual encaminhar o cabeçalho host.
  4. Escolha Editar.
  5. Confirme se a Chave de cache e as solicitações de origem estão definidas nas Configurações de cache legadas.
    Observação: se as Configurações de cache legada não estiverem selecionadas, conclua as etapas na seção anterior para criar uma política de cache.
  6. Em Configurações de chave legadas, em Cabeçalhos, escolha Incluir os cabeçalhos a seguir.
  7. No menu Adicionar cabeçalho, escolha Host.
  8. Escolha Salvar alterações.

(Opcional) Encaminhar o cabeçalho com um nome diferente

Para encaminhar o valor do cabeçalho host com um nome de cabeçalho personalizado ou diferente, use uma CloudFront Function ou a função do AWS Lambda@Edge.

Para encaminhar o cabeçalho com um nome diferente, conclua as seguintes etapas:

  1. Verifique o cabeçalho host de entrada.
    Observação: para CloudFront Functions, verifique o evento de solicitação do visualizador. Para o Lambda@Edge, verifique o evento de solicitação de visualização ou origem.
  2. Para armazenar o valor do cabeçalho host de uma solicitação do cliente no cabeçalho, use o comando Lambda function handler na solicitação do visualizador.
    Observação: por exemplo, se o cabeçalho host de entrada for host, adicione um novo cabeçalho com o mesmo valor. Veja o exemplo de código a seguir:
    function handler(event) {    const request = event.request;
        const headers = request.headers;
        const host = request.headers.host.value;
        headers['x-forwarded-host'] = { "value": host }
        return request
    }
    Observação: essa função de exemplo ativa um evento de solicitação do visualizador.
  3. Para encaminhar o cabeçalho personalizado para a origem, configure a política de solicitação de cache ou host para listar o cabeçalho X-Forwarded-Host na lista de permissões. Para mais informações, consulte Comportamento de solicitações e respostas para origens personalizadas.

Informações relacionadas

Conteúdo em cache com base nos cabeçalhos de solicitação

Controlar a chave de cache com uma política