

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Personalize cabeçalhos HTTP para mensagens AS2
<a name="as2-custom-http-headers"></a>

Ao enviar mensagens AS2 para parceiros comerciais, talvez seja necessário personalizar os cabeçalhos HTTP para atender a requisitos específicos ou aprimorar a compatibilidade com a configuração do servidor AS2 do seu parceiro. Esse CloudFormation modelo cria uma infraestrutura para habilitar cabeçalhos HTTP personalizados para mensagens AS2 enviadas. AWS Transfer Family Ele configura um Amazon API Gateway e uma função Lambda para atuar como proxy, permitindo a modificação dinâmica dos cabeçalhos exigidos pelos servidores AS2 dos parceiros comerciais.

Use esse modelo para fazer o seguinte:
+ Adicione cabeçalhos HTTP personalizados às mensagens AS2 de saída
+ Substituir valores de cabeçalho padrão por valores personalizados
**Importante**  
Tenha cuidado ao substituir os valores de cabeçalho padrão, pois isso pode causar falhas no envio: alguns cabeçalhos AS2 são necessários.
+ Garanta a compatibilidade com parceiros comerciais que tenham requisitos específicos de cabeçalho

## Visão geral do modelo
<a name="template-overview"></a>

O modelo cria os seguintes componentes principais:
+ Uma função Lambda que processa e encaminha mensagens AS2
+ Um Amazon API Gateway para expor a função Lambda
+ Funções e permissões do IAM para a função Lambda
+ Recursos condicionais para suporte a HTTPS

O arquivo de modelo está disponível aqui: [Modelo de cabeçalhos HTTP dinâmicos](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml).

## Como funciona
<a name="how-it-works"></a>

1. O Amazon API Gateway recebe mensagens AS2 recebidas de. AWS Transfer Family

1. A solicitação é encaminhada para a função Lambda.

1. A função Lambda processa a solicitação, adicionando ou modificando cabeçalhos conforme necessário.

1. A solicitação modificada é então encaminhada para o servidor AS2 do parceiro.

1. A resposta do servidor do parceiro é retornada por meio do Lambda e do Amazon API Gateway para. AWS Transfer Family

## Recursos principais
<a name="key-features"></a>
+ *Modificação dinâmica do cabeçalho:* permite a personalização do cabeçalho do assunto e a adição de outros cabeçalhos necessários.
+ *Protocol Support:* funciona com os protocolos HTTP e HTTPS.
+ *Configuração flexível:* permite a especificação do host, porta e caminho do parceiro.

## Detalhes da implantação
<a name="implementation-details"></a>

O modelo implementa os seguintes componentes principais:

### Função do Lambda
<a name="lambda-function"></a>

O núcleo da solução é uma função Node.js Lambda que:
+ Recebe solicitações do Amazon API Gateway
+ Modifica os cabeçalhos com base na configuração e nos dados da solicitação recebida
+ Encaminha a solicitação modificada para o servidor AS2 do parceiro
+ Lida com os protocolos HTTP e HTTPS
+ Inclui tratamento e registro de erros

### Amazon API Gateway
<a name="api-gateway"></a>

Uma API HTTP está configurada para:
+ Receba mensagens AS2 recebidas
+ Encaminhe solicitações para a função Lambda
+ Retorne as respostas para AWS Transfer Family

### Parâmetros do modelo
<a name="as2-header-template-parameter-details"></a>

Insira as informações para os parâmetros do modelo da seguinte forma. Observe que todos esses parâmetros são cadeias de caracteres.
+ `Environment`: esse parâmetro é usado para nomear os recursos que o modelo cria: se eles são destinados a um ambiente de desenvolvimento ou produção. Os valores válidos são **dev** e **prod.** 
+ `PartnerHost`: o endereço IP ou nome do host do servidor parceiro AS2.
+ `PartnerPort`: o número da porta do servidor parceiro AS2. Se não for especificado, o padrão é 80 para HTTP e 443 para HTTPS.
+ `PartnerPath`: o caminho para o endpoint AS2 no servidor parceiro
+ `ProtocolType`: o protocolo a ser usado para a comunicação AS2: os valores válidos são **HTTP** e **HTTPS**.

### Recursos condicionais
<a name="conditional-resources"></a>

Para suporte a HTTPS, o modelo cria condicionalmente:
+ Uma camada Lambda para certificados CA
+ HTTPS-specific configuração na função Lambda

## Implantação e uso
<a name="deployment-and-usage"></a>

**Para personalizar cabeçalhos HTTP AS2 usando um modelo CloudFormation**

1. Abra o CloudFormation console em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. No painel de navegação à esquerda, selecione**Pilhas**.

1. Selecione **Criar pilha** e, depois, **Com novos recursos (padrão)**. 

1. Na seção **Pré-requisito - Preparar modelo**, **escolha Escolher um modelo existente**.

1. Copie esse link, [modelo de cabeçalhos HTTP dinâmicos](https://s3.amazonaws.com/aws-transfer-resources/as2-templates/dynamic-http-headers.template.yml), e cole-o no campo URL do **Amazon S3**.

1. Escolha **Próximo**. 

1. Preencha os detalhes do parâmetro com suas informações. Eles estão detalhados em[Parâmetros do modelo](#as2-header-template-parameter-details).

1. Escolha **Próximo**. Na página **Configurar opções de pilha**, selecione **Próximo** novamente. 

1. Revise os detalhes da pilha que você está criando e escolha **Criar pilha**. 
**nota**  
Na parte inferior da página, em **Capacidades**, você deve reconhecer que isso CloudFormation pode criar recursos AWS Identity and Access Management (IAM). 

Depois de implantar essa CloudFormation pilha:

1. Observe a URL do endpoint do Amazon API Gateway fornecida nas saídas da pilha.

1. Atualize seu AWS Transfer Family conector existente para usar esse novo endpoint do Amazon API Gateway.

1. A solução agora manipulará mensagens AS2, adicionando ou modificando cabeçalhos conforme configurado.

**Atenção**  
Modifique apenas o cabeçalho do assunto ou adicione cabeçalhos que seu parceiro espera explicitamente. Alterar outros cabeçalhos pode causar falhas na transferência.