Konfigurera serverdelspooler för kryptering

Slutförd

Serverdelspoolen innehåller servrarna där din app körs. Azure Application Gateway dirigerar begäranden till dessa servrar och kan belastningsutjämna trafiken mellan dem.

I leveransportalen måste appservrarna i serverdelspoolen använda SSL för kryptering av de data som skickas mellan Application Gateway och servrarna i serverdelspoolen. Application Gateway använder ett SSL-certifikat med en offentlig nyckel till att kryptera data. Servrarna använder motsvarande privata nyckel till att dekryptera de data som tas emot. I den här lektionen får du se hur du skapar serverdelspoolen och installerar nödvändiga certifikat i Application Gateway. Dessa certifikat hjälper till att skydda meddelanden som skickas till och från serverdelspoolen.

Kryptering från Application Gateway till serverdelspoolen

En serverdelspool kan referera till enskilda virtuella datorer, en VM-skalningsuppsättning, fysiska datorers IP-adresser (antingen lokala eller fjärranslutna) eller tjänster som körs i Azure App Service. Alla servrar i serverdelspoolen konfigureras på samma sätt, inklusive deras säkerhetsinställningar.

Diagram showing how Application Gateway routes a request to a web server.

Om trafiken som dirigeras till serverdelspoolen skyddas med hjälp av SSL måste alla servrar i serverdelspoolen tillhandahålla ett lämpligt certifikat. Du kan skapa ett självsignerat certifikat i testsyfte. I en produktionsmiljö bör du alltid generera eller köpa ett certifikat som en certifikatutfärdare kan autentisera.

Det finns för närvarande två versioner av Application Gateway: v1 och v2. De har liknande funktioner, men har lite olika implementeringsinformation. V2-versionen innehåller fler funktioner och prestandaförbättringar.

Certifikatkonfigurering i Application Gateway v1

För Application Gateway v1 måste du installera servrarnas autentiseringscertifikat i gatewaykonfigurationen. Det här certifikatet innehåller den offentliga nyckel som Application Gateway använder för att kryptera meddelanden och autentisera dina servrar. Du kan skapa det här certifikatet genom att exportera det från servern. Appservern använder motsvarande privata nyckel till att dekryptera dessa meddelanden. Den privata nyckeln ska endast lagras på dina programservrar.

Du kan lägga till ett autentiseringscertifikat i Application Gateway med kommandot az network application-gateway auth-cert create från Azure CLI. I följande exempel visas det här kommandots syntax. Certifikatet ska vara i formatet CER (Claim, Evidence and Reasoning).

az network application-gateway auth-cert create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <certificate name> \
    --cert-file <path to authentication certificate>

Application Gateway innehåller andra kommandon som du kan använda för att lista och hantera autentiseringscertifikat. Till exempel:

  • Kommandot az network application-gateway auth-cert list visar de certifikat som har installerats.
  • Du kan använda az network application-gateway auth-cert update kommandot för att ändra certifikatet.
  • Kommandot az network application-gateway auth-cert delete tar bort ett certifikat.

Certifikatkonfigurering i Application Gateway v2

Application Gateway v2 har något annorlunda krav på autentisering. Du anger certifikatet för den certifikatutfärdare som har autentiserat SSL-certifikatet för servrarna i serverdelspoolen. Du lägger till det här certifikatet som ett betrott rotcertifikat i Application Gateway. Använd kommandot az network application-gateway root-cert create i Azure CLI.

az network application-gateway root-cert create \
      --resource-group <resource group name> \
      --gateway-name <application gateway name> \
      --name <certificate name> \
      --cert-file <path to trusted CA certificate>

Om dina servrar använder ett självsignerat certifikat kan du lägga till det som betrott rotcertifikat i Application Gateway.

HTTP-inställningar

Application Gateway använder en regel för att ange hur meddelanden ska dirigeras på den inkommande porten till servrarna i serverdelspoolen. Om servrarna använder SSL måste du konfigurera regeln för att ange:

  • Servrarna förväntar sig trafik via HTTPS-protokollet.
  • Vilket certifikat som ska användas för att kryptera trafiken och autentisera anslutningen till en server.

Du definierar den här konfigurationen med hjälp av en HTTP-inställning.

Du kan definiera en HTTP-inställning med hjälp az network application-gateway http-settings create av kommandot i Azure CLI. I följande exempel visas syntaxen för att skapa en inställning som dirigerar trafik med hjälp av HTTPS-protokollet till port 443 hos servrarna i serverdelspoolen. Om du använder Application Gateway v1 är parametern --auth-certs namnet på det autentiseringscertifikat som du lade i Application Gateway tidigare.

az network application-gateway http-settings create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <HTTPS settings name> \
    --port 443 \
    --protocol Https \
    --auth-certs <certificate name>

Om du använder Application Gateway v2 ska du inte använda parametern --auth-certs. Application Gateway kontaktar backend-servern. Den verifierar att certifikatet som servern presenterar är äkta genom att jämföra med de certifikatutfärdare som anges i en lista med betrodda rotcertifikat. Om det inte går att göra någon matchning så ansluter inte Application Gateway till servern i serverdelspoolen och felet HTTP 502 (felaktig gateway) visas.