Como posso encaminhar o cabeçalho do host com integração privada para a API REST do API Gateway?

4 minuto de leitura
0

Quero usar o valor do cabeçalho do host para meu endpoint ou domínio personalizado do Amazon API Gateway. Como posso encaminhar o cabeçalho do host com integração privada para a API REST do API Gateway?

Breve descrição

O Amazon API Gateway substitui o valor do host que recebe na solicitação original para o endpoint de integração. O Amazon API Gateway atribui o valor do host dependendo da URL do endpoint da solicitação de integração.

Para usar o valor do cabeçalho do host de um endpoint do API Gateway no back-end, use o cabeçalho personalizado. Você pode usar o cabeçalho personalizado na solicitação de integração que contém o valor do cabeçalho do host da solicitação.

Resolução

Crie uma API REST do API Gateway

1.    Abra o console do API Gateway.

2.    Escolha Create API (Criar API).

-ou-

(Se esta for a primeira vez que você está usando o API Gateway) É exibida uma página que apresenta os recursos do produto. Em REST API, escolha Build (Criar). Quando a janela pop-up Create Example API (Criar API de exemplo) aparecer, escolha OK.

3.    Em Choose an API type (Escolher um tipo de API), no painel REST API, escolha Build (Criar).

4.    Em Create new API (Criar nova API), escolha New API (Nova API).

5.    Em Settings (Configurações), faça o seguinte:
Em API name (Nome da API), insira um nome que descreva a finalidade da API. Por exemplo: ForwardHostHeader.
(Opcional) Em Description (Descrição), insira uma breve descrição da finalidade da API. Por exemplo, Encaminhar o cabeçalho do host para integração privada.
Para Endpoint Type (Tipo de endpoint), escolha Regional, Edge optimized (Otimizado para borda) ou Private (Privado).

6.    Escolha Create API (Criar API).

Configure a solicitação de método e a solicitação de integração da sua API

1.    Abra o console do API Gateway.

2.    Siga as instruções para criar uma API com integração privada usando o console do API Gateway.

3.    Em Method Request (Solicitação de método), adicione HTTP Request Headers (Cabeçalhos de solicitação HTTP) como host.

4.    Em Integration Request (Solicitação de integração), expanda HTTP Headers (Cabeçalhos HTTP) e escolha Add header (Adicionar cabeçalho).

5.    Insira um nome para o cabeçalho personalizado. Por exemplo, my_host.

6.    Em Mapped from (Mapeado a partir de), insira a solicitação do método. Por exemplo, method.request.header.host. Em seguida, escolha o ícone de marca de seleção.

Implante sua API em uma nova etapa

1.    Abra o console do API Gateway.

2.    Siga as instruções em Deploy a REST API to a stage (Implantar uma API REST a uma etapa). Para obter mais informações, consulte Setting up a stage using the API Gateway console (Configurar uma etapa usando o console do API Gateway).

3.    No painel Stage Editor (Editor de etapas), copie a Invoke URL (URL de invocação) para sua área de transferência. Você pode usar essa URL para invocar sua API.

Exemplo de URL de invocação da API REST:

https://1a2bc3d456.execute-api.us-east-1.amazonaws.com/stage

4.    Se você usa um Application Load Balancer para seu back-end, poderá testar essa configuração adicionando uma regra. Escolha "http header" (cabeçalho http) como condição e especifique "my_host" como o mesmo cabeçalho e valor do host do API Gateway.

5.    Cole a URL do API Gateway em uma janela do navegador para invocar sua API. A configuração do cabeçalho "my_host" no API Gateway encaminha o valor do host do API Gateway para o Application Load Balancer. O Application Load Balancer corresponde à condição definida e, em seguida, retorna a resposta conforme a configuração.


Informações relacionadas

Set up request and response data mappings using the API Gateway console (Configurar mapeamentos de dados de solicitação e resposta usando o console do API Gateway)

Set up an API using the API Gateway console (Configurar uma API usando o console do API Gateway)

Amazon API Gateway important notes (Notas importantes do Amazon API Gateway)

How do I integrate an API Gateway REST API with an Application Load Balancer? (Como integrar uma API REST do API Gateway a um Application Load Balancer?)

AWS OFICIAL
AWS OFICIALAtualizada há 4 meses