Konfigurieren eines Application Gateway-Listeners für die Verschlüsselung
Sie haben die SSL-Verschlüsselung für die Verbindung zwischen Azure Application Gateway und den Servern im Back-End-Pool konfiguriert. Für das Versandportal benötigen Sie vollständige End-to-End-Verschlüsselung. Für diese Verschlüsselung müssen Sie auch die Nachrichten verschlüsseln, die der Client an Application Gateway sendet.
Erstellen eines Front-End-Ports
Application Gateway empfängt Anforderungen über mindestens einen Port. Wenn Sie per HTTPS mit dem Gateway kommunizieren, sollten Sie einen SSL-Port konfigurieren. Normalerweise nutzt HTTPS den Port 443. Verwenden Sie den Befehl az network application-gateway frontend-port create
, um einen neuen Front-End-Port zu erstellen. Im folgenden Beispiel wird veranschaulicht, wie ein Front-End-Port für den Port 443 erstellt wird:
az network application-gateway frontend-port create \
--resource-group $rgName \
--gateway-name gw-shipping \
--name my-https-port \
--port 443
Konfigurieren des Listeners
Ein Listener wartet auf Datenverkehr, der über einen bestimmten Front-End-Port beim Gateway eingeht. Dieser Datenverkehr wird dann an einen Server im Back-End-Pool weitergeleitet. Wenn der Front-End-Port die SSL-Verschlüsselung verwendet, müssen Sie das Zertifikat zum Entschlüsseln der eingehenden Nachrichten angeben. Das Zertifikat enthält den privaten Schlüssel.
Sie können das Zertifikat mithilfe des Befehls az network application-gateway ssl-cert create
hinzufügen. Die Zertifikatsdatei sollte das PFX-Format aufweisen. Da diese Datei den privaten Schlüssel enthält, wird sie wahrscheinlich auch mit einem Kennwort geschützt. Sie geben das Kennwort wie im folgenden Beispiel gezeigt mit dem Argument cert-password
an.
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>
Sie können dann den Listener erstellen, der Anforderungen über den Front-End-Port empfängt und mithilfe dieses Zertifikats entschlüsselt. Verwenden Sie den Befehl 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
Definieren einer Regel zum Senden von HTTPS-Anforderungen an die Server
Der letzte Schritt besteht darin, eine Regel zu erstellen, die die über den Listener empfangenen Nachrichten an die Server im Back-End-Pool weiterleitet. Die vom Front-End-Port empfangenen Nachrichten werden über das SSL-Zertifikat entschlüsselt, das für den Listener festgelegt wurde. Sie müssen diese Nachrichten mithilfe des clientseitigen Zertifikats für die Server im Back-End-Pool erneut verschlüsseln. Diese Informationen definieren Sie in der Regel.
Im folgenden Beispiel wird veranschaulicht, wie der Befehl az network application-gateway rule create
zum Erstellen einer Regel verwendet wird, die einen Listener mit einem Back-End-Pool verknüpft. Mit dem Parameter --http-settings
werden die HTTP-Einstellungen festgelegt, die auf das clientseitige Zertifikat für die Server verweisen. Diese Einstellungen haben Sie in der vorherigen Lerneinheit erstellt.
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
Sie sollten nun über eine vollständige End-to-End-Verschlüsselung für Nachrichten verfügen, die Application Gateway durchlaufen. Clients verwenden das SSL-Zertifikat für Application Gateway zum Senden von Nachrichten. Application Gateway entschlüsselt diese Nachrichten mithilfe dieses SSL-Zertifikats. Anschließend verschlüsselt der Dienst die Nachrichten mithilfe des Zertifikats für die Server im Back-End-Pool erneut.