Configurar um serviço de escuta do Gateway de Aplicação para encriptação
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.