Configurare un listener del gateway applicazione per la crittografia
È stata configurata la crittografia SSL per la connessione tra il gateway applicazione di Azure e i server nel pool back-end. Per il portale di spedizione è necessaria la crittografia end-to-end completa. A tale scopo, è necessario crittografare anche i messaggi inviati dal client al gateway applicazione.
Creare una porta front-end
Il gateway applicazione riceve le richieste attraverso una o più porte. Se la comunicazione con il gateway avviene tramite HTTPS, è necessario configurare una porta SSL. Per HTTPS viene solitamente usata la porta 443. Usare il comando az network application-gateway frontend-port create
per creare una nuova porta front-end. L'esempio seguente illustra come creare una porta front-end per la porta 443:
az network application-gateway frontend-port create \
--resource-group $rgName \
--gateway-name gw-shipping \
--name my-https-port \
--port 443
Configurare un listener
Il listener attende il traffico in ingresso nel gateway su una porta front-end specificata. Il traffico viene quindi indirizzato a un server nel pool back-end. Se la porta front-end usa SSL, è necessario indicare il certificato da usare per decrittografare i messaggi in arrivo. Il certificato include la chiave privata.
È possibile aggiungere il certificato usando il comando az network application-gateway ssl-cert create
. Il file del certificato deve essere nel formato PFX. Poiché il file contiene la chiave privata, è probabile che sia protetto da password. Specificare la password nell'argomento cert-password
, come illustrato nell'esempio seguente.
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>
È quindi possibile creare il listener che riceve le richieste dalla porta front-end e ne esegue la decrittografia usando il certificato. Usare il 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
Definire una regola per inviare richieste HTTPS ai server
Il passaggio finale consiste nel creare una regola che indirizza i messaggi ricevuti tramite il listener ai server nel pool back-end. I messaggi ricevuti dalla porta front-end vengono decrittografati tramite il certificato SSL specificato per il listener. È necessario crittografare di nuovo i messaggi usando il certificato sul lato client per i server nel pool back-end. Queste informazioni vengono definite nella regola.
L'esempio seguente illustra come usare il comando az network application-gateway rule create
per creare una regola che connette un listener a un pool back-end. Il parametro --http-settings
specifica le impostazioni HTTP che fanno riferimento al certificato sul lato client per i server. Queste impostazioni sono state create nell'unità precedente.
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
A questo punto è stata abilitata la crittografia end-to-end completa per i messaggi instradati tramite il gateway applicazione. I client usano il certificato SSL per il gateway applicazione per inviare messaggi. Il gateway applicazione decrittografa i messaggi usando questo certificato SSL. Quindi crittografa di nuovo i messaggi usando il certificato per i server nel pool back-end.