Configurar o ouvinte do Gateway de Aplicativo para criptografia

Concluído

Você configurou o SSL para a conexão entre o Gateway de Aplicativo do Azure e os servidores no pool de back-end. Para o portal de envio, você precisa de criptografia de ponta a ponta completa. Para fazer essa criptografia, também será necessário criptografar as mensagens que o cliente envia ao Gateway de Aplicativo.

Criar uma porta de front-end

O Gateway de Aplicativo recebe solicitações por meio de uma ou mais portas. Se você estiver se comunicando com o gateway por meio de HTTPS, deverá configurar uma porta SSL. Tradicionalmente, HTTPS usa a porta 443. Use o comando az network application-gateway frontend-port create para criar uma nova porta de front-end. O exemplo a seguir mostra como criar uma porta de front-end para a porta 443:

az network application-gateway frontend-port create \
    --resource-group $rgName \
    --gateway-name gw-shipping  \
    --name my-https-port \
    --port 443

Configurar um ouvinte

Um ouvinte aguarda o tráfego de entrada para o gateway em uma porta de front-end especificada. Esse tráfego então é roteado para um servidor no pool de back-end. Se a porta de front-end usar SSL, você precisará indicar o certificado a ser usado para descriptografar as mensagens recebidas. O certificado inclui a chave privada.

Você pode adicionar o certificado usando o comando az network application-gateway ssl-cert create. O arquivo do certificado deve estar no formato PFX. Uma vez que esse arquivo contém a chave privada, ele provavelmente também será protegido por senha. Você fornece a senha no argumento cert-password, conforme mostra o exemplo a seguir.

az network application-gateway ssl-cert create \
   --resource-group $rgName \
   --gateway-name gw-shipping \
   --name shipping-ssl.crt \
   --cert-file shippingportal/server-config/shipping-ssl.pfx \
   --cert-password <password for certificate file>

Então é possível criar o ouvinte que recebe solicitações da porta de front-end e descriptografá-lo usando esse certificado. Use o comando az network application-gateway http-listener create.

az network application-gateway http-listener create \
    --resource-group $rgName \
    --gateway-name gw-shipping \
    --name http-listener \
    --frontend-port my-https-port \
    --ssl-cert shipping-ssl.crt

Definir uma regra para enviar solicitações HTTPS aos servidores

A etapa final é criar uma regra que direciona as mensagens recebidas usando o ouvinte para os servidores no pool de back-end. As mensagens recebidas da porta de front-end são descriptografadas usando o certificado SSL especificado para o ouvinte. É preciso criptografar essas mensagens novamente usando o certificado no lado do cliente para os servidores no pool de back-end. Você define essas informações na regra.

O exemplo a seguir mostra como usar o comando az network application-gateway rule create para criar uma regra que conecta um ouvinte a um pool de back-end. O parâmetro --http-settings especifica as configurações HTTP que referenciam o certificado do lado do cliente para os servidores. Você criou essas configurações na unidade anterior.

az network application-gateway rule create \
    --resource-group $rgName \
    --gateway-name gw-shipping \
    --name app-gw-rule \
    --address-pool ap-backend \
    --http-listener http-listener \
    --http-settings https-settings \
    --rule-type Basic
    --priority 101

Agora você deve ter a criptografia de ponta a ponta completa para as mensagens roteadas pelo Gateway de Aplicativo. Os clientes usam o certificado SSL para o Gateway de Aplicativo para enviar mensagens. O Gateway de Aplicativo descriptografa essas mensagens usando esse certificado SSL. Em seguida, ele criptografa novamente as mensagens usando o certificado para os servidores no pool de back-end.