Configurar o ouvinte do Gateway de Aplicativo para criptografia
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.