Een Application Gateway-listener voor versleuteling configureren

Voltooid

U hebt SSL geconfigureerd voor de verbinding tussen Azure-toepassing Gateway en de servers in de back-endpool. U hebt voor de verzendingsportal volledige end-to-end-versleuteling nodig. Als u deze versleuteling wilt uitvoeren, moet u ook de berichten versleutelen die de client naar Application Gateway verzendt.

Een front-endpoort maken

Application Gateway ontvangt aanvragen via een of meer poorten. Als u met de gateway via HTTPS communiceert, moet u een SSL-poort configureren. HTTPS gebruikt traditioneel poort 443. Gebruik de opdracht az network application-gateway frontend-port create voor het maken van een nieuwe front-endpoort. Het volgende voorbeeld laat zien hoe u een front-endpoort voor poort 443 maakt:

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

Een listener configureren

Een listener wacht op binnenkomend verkeer naar de gateway op een opgegeven front-endpoort. Dit verkeer wordt vervolgens doorgestuurd naar een server in de back-endpool. Als de front-endpoort SSL gebruikt, moet u aangeven welk certificaat moet worden gebruikt om binnenkomende berichten te ontsleutelen. Het certificaat bevat de persoonlijke sleutel.

U kunt het certificaat toevoegen met de opdracht az network application-gateway ssl-cert create. Het certificaatbestand moet de PFX-indeling hebben. Omdat dit bestand de persoonlijke sleutel bevat, is het bestand waarschijnlijk ook beveiligd met een wachtwoord. U geeft het wachtwoord op in het argument cert-password, zoals wordt weergegeven in het volgende voorbeeld.

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>

Vervolgens kunt u de listener maken die aanvragen ontvangt van de front-endpoort en deze ontsleutelt met dit certificaat. Gebruik de opdracht 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

Een regel voor het verzenden van HTTPS-aanvragen naar de servers definiƫren

De laatste stap is het maken van een regel waarmee de ontvangen berichten via de listener naar de servers in de back-endpool worden doorgestuurd. De berichten die zijn ontvangen van de front-endpoort, worden ontsleuteld met het SSL-certificaat dat is opgegeven voor de listener. U moet deze berichten opnieuw versleutelen met het clientcertificaat voor de servers in de back-endpool. Deze informatie wordt gedefinieerd in de regel.

In het volgende voorbeeld ziet u hoe u de opdracht az network application-gateway rule create gebruikt om een regel te maken waarmee een listener met een back-endpool wordt verbonden. De --http-settings parameter geeft de HTTP-instellingen op die verwijzen naar het certificaat aan de clientzijde voor de servers. U hebt deze instellingen in de vorige eenheid gemaakt.

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

U hebt nu een volledige end-to-end-versleuteling voor berichten die worden doorgestuurd via Application Gateway. Clients gebruiken het SSL-certificaat voor Application Gateway om berichten te verzenden. Application Gateway ontsleutelt deze berichten met behulp van dit SSL-certificaat. Vervolgens worden de berichten opnieuw versleuteld met behulp van het certificaat voor de servers in de back-endpool.