Help us understand the problem. What is going on with this article?

[Azure] WebAppsへのカスタムドメインとApp Service証明書 設定手順(2018/11月版)

More than 1 year has passed since last update.

Azure WebAppsでSSL対応したWebサイトを構築する場合、WebApps用のカスタムドメイン購入カスタムドメインへのSSL証明書発行 がAzureの機能として提供されているため、他で証明書購入の手続きなど行うことなく、Azure内で完結して構築することが可能です。

設定手順はこれまでに何度か変更されていたようですが、先月久々に実サイトの設定作業をしたので「2018/11月版」として手順をまとめておきます。

用意するもの

  • 構築対象の WebApps

    • カスタムドメインとSSL設定するためには、価格レベル:B1 以上が必要です。共有プラン( F1, D1 )ではできません。
    • 以下では 例: https://vaqiita001.azurewebsites.net/ として設定を記載しています。
    • WebApps作成は、価格レベル以外に注意するところは無いので本手順では省略します。
  • カスタムドメイン

    • 書き出しでは購入できると書いたのですが、今回は既に持っているドメインにレコード追加したので、以下はその手順となっています。購入する場合は最初に 手順に従って手続きしてください。
    • 以下では 例: https://demo01.vaqiita001.com/ を割り当てるものとして設定を記載しています。

作業1:ドメインへのCNAMEレコード登録

DNSサービスにて、WebAppsに割り当てるカスタムドメインの CNAMEレコードを登録します。

種類 名前
CNAME 割り当てるカスタムドメイン名
(例:demo01.vaqiita001.com)
WebAppsのドメイン名
(例:vaqiita001.azurewebsites.net)

以前はドメインの所有確認に "awverify" 付きのドメインを登録などしていましたが、それは不要になっています。

Azure DNSでの設定例:

image.png

作業2:WebAppsでカスタムホスト名の設定

作業1で登録したCNAMEが反映された後、作業を継続します。

Azureポータルで 対象WebAppsから「カスタムドメイン」を選択し、カスタムホスト名にて
- 「HTTPSのみ」を "オン" に設定後
- 「ホスト名の追加」を選択します。

image.png

先ほどCNAME登録したカスタムドメイン名 (例:demo01.vaqiita001.com) を入力し「検証」を押します。
検証後、ホスト名の利用可否・ドメイン所有権にチェックが入ったら「ホスト名の追加」を押します。

e67.png

追加されるとカスタムホスト名の設定に戻り、ドメインが追加されていることが確認できます。

image.png

作業3:証明書の購入(1)

Azureポータルで「新規」 → 「app service certificate」で検索 → 「App Service証明書」を選択します。

image.png

証明書の作成画面で
- ネイキッド ドメインのホスト名:カスタムドメイン名 (例:demo01.vaqiita001.com)
- 証明書SKU:S1(Standard) か W1(ワイルドカード)を選択
その他の項目は適切なものを入力し、契約条項に同意して「作成」を押します。

image.png

作成後、すぐに構成ウィザードが起動するため、手順に従って設定します。

image.png

手順1:格納 を選択するとKey Vaultの構成画面に遷移するので、新規Key Vaultを作成します。

image.png

キーコンテナの名前等を入力して「作成」します。

image.png

作成後ウィザードに戻ると、手順1にチェックが入っています。

image.png

手順2:確認 を押すと、ドメインの検証画面が出てきます。
この画面に「ドメイン確認トークン」(30桁程度の文字列)が表示されているので、これをコピーして作業4に進みます。

se67.png

作業4:ドメインへのTXTレコード登録

DNSサービスにて、先ほどコピーしたドメイン確認トークンを TXTレコードとして登録します。

種類 名前
TXT 割り当てるカスタムドメインのセカンドレベルまで
(例:vaqiita001.com)
先ほどコピーしたドメイン確認トークン

Azure DNSでの設定例:

Azure DNSでは、DNSゾーンのトップにレコードを登録する場合、名前として"@"を入力します。

image.png

Route 53での設定例:

Route 53では、ゾーンのトップはブランクで登録します。Azureのように"@"を入れるとエラーになるので注意して下さい。また、保存するとテキストがダブルコーテーションで囲まれますが、登録時には入力する必要はありません。

image.png

作業5:証明書の購入(2)

TXTレコード登録(反映)後、証明書の購入ウィザードに戻り、「最新の情報に更新」を押します。

se67b.png

証明書のドメイン確認済みになったことを確認します。

image.png

チュートリアルに戻ると何故か手順3までチェックの入った画面に戻りますが・・・この先はWebAppsで設定を行います。

image.png

作業6:WebAppsで証明書設定

Azureポータルにて WebAppsから 「SSL設定」 → 「プライベート証明書」→ 「App Service証明書のインポート」を選択します。

image.png

表示されたダイアログで、作業5で購入した証明書を選択します。

image.png

SSL設定に戻り、証明書が追加されたことを確認します。

image.png

次に「バインド」タブに移動して、「SSLバインディングの追加」を選択します。

2d3163666135376661656262392e706e67.png

SSLバインディングにて以下を設定して追加します。
- ホスト名:カスタムドメイン名 (例:demo01.vaqiita001.com)
- プライベート証明書の捺印:先ほどインポートした証明書を選択
- SSLの種類:SNI SSL

image.png

SSL設定に戻り、追加されたことを確認します。

image.png

最後に、WebAppsを一度再起動すれば作業完了となります。
しばらく待つと概要のURLも割り当てたカスタムドメイン名に変更されます。

image.png

動作確認

割り当てたカスタムドメイン名でWebAppsにアクセスし、証明書が設定されていることを確認します。

image.png

以上でSSL対応したWebサイトを構築できました。

手順にすると少し長くなってしまいましたが、ドメインや証明書購入の事務手続きも不要ですし、基本的にはウィザードに従って登録していくだけなので、WebAppsの場合はAzure機能を活用して構築するのが便利だと思います。

その他

作業6 で登録した TXTレコードは作業後には不要になるので削除しておきます。

参考資料

VA_nakatsu
Azure, AWSを中心に検証結果を整理しています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした