Azure Web Appsに独自ドメイン＆SSLサーバ証明書を設定する

#はじめに
個人的にワイルドカードSSL証明書を取得したので、Azure Web Appにカスタムドメインの登録とSSLサーバ証明書のバインドの一連の流れを確認しました。

MS公式ドキュメント「[既存のカスタム SSL 証明書の Azure Web Apps へのバインド](https://docs.microsoft.com/ja-jp/azure/app-service/app-service-web-tutorial-custom-ssl?view=azuremgmteventhub-1.1.0)」とほぼ同じ内容ですが、自分の作業メモという意味が強い投稿となります。

今回は[digicert](https://www.digicert.com/)を利用しました。
なぜならば、Microsoft MVP受賞者は個人・テスト利用に限って[無料](https://www.digicert.com/friends/msmvp/)で利用ができるからです。

#必要なもの
以下のものが必要です。

- 独自ドメイン
- SSLサーバ証明書

今回は私が10年近く温存してきた "nya-n.net" ドメインを使います。
DigiCertから "*.nya-n.net" のワイルドカードSSL証明書を取得します。
cer形式で送られてきたので、以下のURLを参考にpfx形式に変換しました。

[OpenSSLを使って.pfxファイル証明書を作成する方法](https://rms-digicert.ne.jp/howto/basis/openssl-get-pxf.html)

#Web Appsの設定

##Web Appsのデプロイ
任意のAzureサブスクリプション、リソースグループ、リージョンにてWeb Appsをデプロイします。
App ServiceのプランはBasic以上にする必要があります。(Freeプランではカスタムドメインが利用できません)
作成ボタンをクリックして作成します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/ca96d8ee-a47b-e676-743a-9778da55e273.png)

作成完了後、状態が「Running」となり、プランが指定したもの(Basic以上)であることを確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/53e9d1c0-81a4-c5e1-e30c-e54fc96d083c.png)

##カスタムドメインの追加
App Serviceのメニューから「カスタムドメイン」をクリックして、「ホスト名の追加」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/c94d12aa-b21c-79da-d69d-70a1d656a031.png)

追加するカスタムドメイン名(今回の例ではwebtest.nya-n.net)を入力後、「検証」をクリックします。
暫く待つと、画面下部に色々とエラーが表示されると思います。
これは、入力したwebtest.nya-n.netのDNSレコードが登録されていないからです。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/976a4810-99e4-c426-491d-61d4d0cb5e1b.png)

私はAzureでDNSゾーンを管理しているので、AzureポータルにてCNAMEレコードを追加します。
「＋レコードセット」をクリックします。
他のDNSサービスを利用している方はそれぞれの方法でCNAMEレコードを追加します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/ece5bede-8b3e-7b8f-02a7-efc08bfdf204.png)

CNAMEレコードを以下の様に設定します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/0e972801-6f24-7323-3692-55135a85e578.png)


無事一覧にCNAMEレコードが追加されることを確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/f87fbf18-a8a0-f528-6ef0-f0132cde2222.png)


再度App Serviceのカスタムドメイン追加画面で「検証」をクリックすると、無事追加されますので、最後に「ホスト名の追加」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/f7c3121e-be1e-bcbc-0b65-080113f3e016.png)

無事カスタムホストが追加されたことを確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/96b5e042-8dcc-0f29-2d79-b78a4f796480.png)

この時点でwebtest.nya-n.netにhttpとhttpsでアクセスしてみた結果は以下の通りです。
まだ、SSL証明書が設定されていないのでhttps接続では証明書エラーが出ます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/f57c1b48-829d-ee9b-c4e7-b3c73e2890d4.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/1bffbc18-2535-c0b9-e3db-fdfc88975f32.png)

##SSL証明書の設定
App Serviceメニューから「SSL証明書」をクリック後、「証明書のアップロード」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/689a1aff-6980-adb2-f407-b1714ea9f0de.png)

ローカルPCの証明書ファイル(pfx形式)とその証明書のパスワードを入力後、「アップロード」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/4cda0522-0767-7bba-412d-e0f69696bcb0.png)

一覧にSSL証明書が追加されたことを確認後、「バインディングの追加」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/4b8b06bd-75a3-72a5-b253-7921157f448c.png)

ホスト名、証明書に適切なものを選択後、「バインディングの追加」をクリックします。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/285a2f46-8ca3-7d1d-c1b5-f7aa134da73f.png)

無事一覧に追加されることを確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/cfb624b6-0b2d-e5fd-74aa-1540b3fbd016.png)

##httpsによる接続確認
ブラウザでhttps接続を再度行い、証明書エラーが出ずに正常に接続できることを確認します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/137436/5ace12ca-b277-dc24-e717-244327ca9408.png)

#おわりに
独自ドメインとか、SSLサーバ証明書の取得とか、気軽に個人で試すには少し敷居が高いと思いましたので、設定手順の参考になればよいと思い、投稿しました。