Configurar um serviço de escuta do Gateway de Aplicação para encriptação

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. Irá precisar de uma encriptação ponto a ponto completa para o portal de encomendas. Para fazer essa criptografia, você também precisará criptografar as mensagens que o cliente envia para o Application Gateway.

Criar uma porta de front-end

O Gateway de Aplicação recebe pedidos através de uma ou mais portas. Se estiver a comunicar com o gateway através de HTTPS, deve configurar uma porta SSL. Tradicionalmente, o protocolo HTTPS utiliza a porta 443. Utilize o comando az network application-gateway frontend-port create para criar uma nova porta de front-end. O seguinte exemplo mostra como pode 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 serviço de escuta

Um serviço de escuta aguarda a entrada de tráfego no gateway através da porta de front-end especificada. Em seguida, este tráfego é encaminhado para um servidor no conjunto de back-end. Se a porta de front-end utilizar SSL, tem de indicar o certificado a utilizar para a desencriptação de mensagens recebidas. O certificado inclui a chave privada.

Pode adicionar o certificado com o comando az network application-gateway ssl-cert create. O ficheiro de certificado deverá estar no formato PFX. Como este ficheiro contém a chave privada, é provável que também esteja protegido por palavra-passe. Deve introduzir a palavra-passe no argumento cert-password, conforme mostrado no seguinte exemplo.

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>

Em seguida, pode criar o serviço de escuta que recebe os pedidos da porta de front-end e os desencripta com este certificado. Utilize 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 pedidos HTTPS aos servidores

O último passo consiste em criar uma regra que direcione as mensagens recebidas através do serviço de escuta para os servidores no conjunto de back-end. As mensagens recebidas a partir da porta de front-end são desencriptadas com o certificado SSL especificado pelo serviço de escuta. Tem de encriptar novamente estas mensagens com o certificado do lado do cliente para os servidores no conjunto de back-end. Deverá definir estas informações na regra.

O seguinte exemplo mostra como pode utilizar o comando az network application-gateway rule create para criar uma regra que ligue o serviço de escuta a um conjunto de back-end. O --http-settings parâmetro especifica as configurações HTTP que fazem referência ao certificado do lado do cliente para os servidores. Estas definições foram criadas por si 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

Deverá ter agora uma encriptação ponto a ponto completa das mensagens encaminhadas através do Gateway de Aplicação. Os clientes utilizam o certificado SSL do Gateway de Aplicação para enviar mensagens. O Application Gateway 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.