Oefening: back-endpools configureren voor versleuteling
U wilt end-to-end-versleuteling implementeren voor de verzendportaltoepassing. Door alle gegevens tussen gebruikers en servers te versleutelen, zorgt u ervoor dat de gegevens niet door onbevoegden kunnen worden onderschept en gelezen.
In deze eenheid stelt u de webtoepassing en de toepassingsgateway in. Vervolgens gaat u enkele zelfondertekende SSL-certificaten maken en versleuteling inschakelen in uw back-endpool om het verkeer van de toepassingsgateway naar uw servers te beveiligen.
In de volgende afbeelding worden de elementen gemarkeerd die u in deze oefening configureert. U stelt een toepassingsgateway in met behulp van Azure-toepassing Gateway v2.
Virtuele machine en een toepassingsgateway implementeren
Open Azure Cloud Shell in uw browser en meld u aan bij de map met toegang tot het abonnement waarin u resources wilt maken. Voor deze oefening gebruiken we de Bash-shell-omgeving.
Voer de volgende opdracht uit in Cloud Shell om een resourcegroep voor uw resources te maken. Vervang
<resource group name>
door een naam voor uw resourcegroep en<location>
door de Azure-regio waarin u uw resources wilt implementeren.az group create --resource-group <resource group name> --location <location>
Voer de volgende opdracht uit in Cloud Shell om een variabele te maken om de naam van uw resourcegroep op te slaan:
export rgName=<resource group name>
Voer in Azure Cloud Shell de volgende opdracht uit om de broncode voor de verzendportal te downloaden:
git clone https://github.com/MicrosoftDocs/mslearn-end-to-end-encryption-with-app-gateway shippingportal
Naar de map shippingportal gaan:
cd shippingportal
Voer het volgende installatiescript uit om de virtuele machine, certificaten en toepassingsgateway te maken:
bash setup-infra.sh
Notitie
Het duurt enkele minuten voordat dit script is voltooid. Hiermee kunt u meerdere processen uitvoeren om de gateway en resources uit te pakken en te configureren. U ziet dat het proces is geslaagd met nulwaarschuwingen en nulfouten.
Controleren of de webserver juist is geconfigureerd
Voer de volgende opdracht uit om de URL weer te geven van de webserver die met het installatiescript is gemaakt.
echo https://"$(az vm show \ --name webservervm1 \ --resource-group $rgName \ --show-details \ --query [publicIps] \ --output tsv)"
Kopieer en plak de URL in uw webbrowser en ga naar de URL.
In uw browser wordt waarschijnlijk een waarschuwingsbericht weergegeven dat lijkt op de volgende afbeelding. De exacte inhoud in het waarschuwingsbericht kan variëren, afhankelijk van uw browser. De voorbeeldafbeelding is afkomstig van Microsoft Edge.
Deze waarschuwing wordt weergegeven omdat de webserver is geconfigureerd met een zelfondertekend certificaat dat niet kan worden geverifieerd. Zoek en selecteer op deze waarschuwingspagina de koppeling om door te gaan naar de website; Selecteer bijvoorbeeld Ga naar de webpagina of selecteer Geavanceerd en ga door, of het equivalent. Met het resultaat gaat u naar de startpagina van de verzendportal, zoals wordt weergegeven in de volgende afbeelding. Het is een voorbeeld-app om te testen of de server correct is geconfigureerd.
Back-endpool configureren voor versleuteling
Voer de volgende opdracht uit om het privé-IP-adres op te halen van de virtuele machine die als webserver fungeert.
echo privateip="$(az vm list-ip-addresses \ --resource-group $rgName \ --name webservervm1 \ --query "[0].virtualMachine.network.privateIpAddresses[0]" \ --output tsv)"
Maak een variabele om uw privé-IP-adres op te slaan. Vervang
<privateIP>
door het IP-adres uit de vorige stap.export privateip=<privateIP>
Stel de back-endpool voor Application Gateway in met behulp van het privé-IP-adres van de virtuele machine.
az network application-gateway address-pool create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name ap-backend \ --servers $privateip
Upload het VM-certificaat in de back-endpool naar Application Gateway als een vertrouwd basiscertificaat. Het installatiescript heeft dit certificaat gegenereerd en opgeslagen in het shipping-ssl.crt-bestand .
az network application-gateway root-cert create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name shipping-root-cert \ --cert-file server-config/shipping-ssl.crt
Configureer de HTTP-instellingen voor het gebruik van het certificaat:
az network application-gateway http-settings create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --port 443 \ --protocol Https \ --host-name $privateip
Voer de volgende opdrachten uit om het vertrouwde certificaat voor de back-endpool in te stellen op het certificaat dat op de back-end-VM is geïnstalleerd:
export rgID="$(az group show --name $rgName --query id --output tsv)" az network application-gateway http-settings update \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-settings \ --set trustedRootCertificates='[{"id": "'$rgID'/providers/Microsoft.Network/applicationGateways/gw-shipping/trustedRootCertificates/shipping-root-cert"}]'
U hebt nu een virtuele machine waarop de verzendingsportalsite en een toepassingsgateway worden uitgevoerd. U hebt de SSL-versleuteling tussen Application Gateway en uw toepassingsserver geconfigureerd.