演習 - 暗号化用に Application Gateway リスナーを構成する
これで、Azure Application Gateway 用とバックエンド プール用の証明書を構成したので、受信要求を処理するリスナーを作成できます。 リスナーではメッセージが待機され、秘密キーを使用してその暗号化が解除されてから、それらのメッセージがバックエンド プールにルーティングされます。
このユニットでは、ポート 443 と、最初の演習で作成した SSL 証明書を使用してリスナーを設定します。 次の図では、この演習で設定する要素が強調表示されています。
リスナーを構成する
次のコマンドを実行して、ゲートウェイ用の新しいフロントエンド ポート (443) を作成します。
az network application-gateway frontend-port create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-port \ --port 8443
Application Gateway 用の SSL 証明書をアップロードします。 この証明書は、前の手順でセットアップ スクリプトによって生成されました。 証明書は、server-config フォルダー内の appgateway.pfx ファイルに格納されています。
.pfx ファイルに対して生成されたパスワードは、somepassword です。 次のコマンドでそれを変更しないでください。
az network application-gateway ssl-cert create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name appgateway-cert \ --cert-file server-config/appgateway.pfx \ --cert-password somepassword
次のコマンドを実行して、ポート 443 で受信トラフィックを受け入れる新しいリスナーを作成します。 リスナーでは証明書 appgateway-cert を使用して、メッセージの暗号化を解除します。
az network application-gateway http-listener create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-listener \ --frontend-port https-port \ --ssl-cert appgateway-cert
次のコマンドを実行し、新しいリスナーを介して受信されたトラフィックをバックエンド プールに送信する規則を作成します。 このコマンドが完了するまで 1、2 分かかる場合があります。
az network application-gateway rule create \ --resource-group $rgName \ --gateway-name gw-shipping \ --name https-rule \ --address-pool ap-backend \ --http-listener https-listener \ --http-settings https-settings \ --rule-type Basic \ --priority 102
アプリケーション ゲートウェイをテストする
アプリケーション ゲートウェイのパブリック URL を取得します。
echo https://$(az network public-ip show \ --resource-group $rgName \ --name appgwipaddr \ --query ipAddress \ --output tsv)
Web ブラウザーで URL に移動します。
先ほどと同様に、SSL 接続で認証されていない証明書が使用されているという警告メッセージがブラウザーに表示される場合があります。 この警告は、証明書が自己署名であるという理由で表示されます。 この警告を無視し、Web サイトに進むことができます。
配送ポータルのホーム ページが表示されることを確認します。
ポート 443 でリッスンし、バックエンド プールに渡す準備ができたデータの暗号化を解除するようにリスナーを構成しました。 データは、ゲートウェイからバックエンド プール内のサーバーに送信されるときに、再暗号化されます。 このリスナーの準備ができたら、配送ポータルのエンドツーエンドの暗号化の設定は完了です。
必要に応じて、これらのリソースを削除することができます。 このモジュールで作成したすべてのリソースを削除する最も簡単な方法は、単にリソース グループを削除することです。