為加密設定應用程式閘道接聽程式

已完成

您已針對 Azure 應用程式閘道與後端集區伺服器間的連線設定 SSL。 針對貨運入口網站,您需要完整的端對端加密。 若要執行此加密,您也需要加密從用戶端傳送至應用程式閘道的訊息。

建立前端連接埠

應用程式閘道會透過一或多個連接埠接收要求。 如果您透過 HTTPS 與閘道通訊,您應設定 SSL 連接埠。 傳統上,HTTPS 使用連接埠 443。 使用 az network application-gateway frontend-port create 命令建立新的前端連接埠。 下列範例顯示如何建立連接埠 443 的前端連接埠:

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

設定接聽程式

接聽程式等候指定的前端連接埠上閘道器的連入流量。 此流量接著會路由到後端集區中的伺服器。 如果前端連接埠使用 SSL,您需要指出用來解密傳入訊息的憑證。 此憑證包含私密金鑰。

您可以使用 az network application-gateway ssl-cert create 命令新增憑證。 憑證檔案應為 PFX 格式。 由於此檔案包含私密金鑰,因此有可能會受到密碼保護。 如下列範例所示,您在 cert-password 引數中提供密碼。

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>

然後您可以建立接聽程式,接收來自前端連接埠的要求,並使用此憑證進行解密。 使用 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

定義規則,將 HTTPS 要求傳送到伺服器

最後的步驟是建立規則,將使用接聽程式所接收到訊息導向後端集區的伺服器。 從前端連接埠收到的訊息會使用為接聽程式所指定的 SSL 憑證來解密。 您需要使用後端集區伺服器的用戶端憑證來重新加密這些訊息。 您在規則中定義此資訊。

下列範例顯示如何使用 az network application-gateway rule create 命令來建立將接聽程式連線至後端集區的規則。 --http-settings 參數指定的 HTTP 設定會參考伺服器的用戶端憑證。 您已在上一個單元建立這些設定。

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

針對透過應用程式閘道路由傳送的訊息,您現在應該已有完整的端對端加密。 用戶端使用應用程式閘道的 SSL 憑證來傳送訊息。 應用程式閘道會使用此 SSL 憑證來解密這些訊息。 接著,需要使用後端集區伺服器的憑證來重新加密這些訊息。