App ServiceやWeb App for ContainersでのカスタムドメインのSSL

こんにちは、サイオステクノロジー武井です。今回はApp ServiceやWeb App for ContainersでのカスタムドメインのSSLの設定方法を備忘録として書いておきますいつも忘れてしまうので。。。今日も忘れてワタワタしてしまいました。

App ServiceやWeb App for Containersは、もちろんカスタムドメインのSSL証明書を扱えます。Azureによって管理される証明書をAzure経由で購入することもできますが、一番多いユースケースは、お客様が用意した証明書をApp ServiceやWeb App for Containersに入れることかなと思いますのでこのケースを扱います。(少なくとも弊社は大学案件が多く、大学はUPKI電子証明書発行サービスというものからSSL証明書を発行されることが多いので、Azureマネージドな証明書は使うことはあまりないです)

では早速設定方法です。なにはともあれ、まずはSSL証明書を用意しなければなりませんが、App ServiceやWeb App for Containersは、公開鍵と秘密鍵が一つになったPFX形式の証明書を作成します。秘密鍵をserver.key、証明書をserver.crtとします。中間証明書が必要な場合は、サーバー証明書→中間証明書→中間証明書・・・といった感じでルートに遠い方から順にserver.crtにマージしてください。以下のコマンドを実行すると、server.pfxという証明書ができます。

$ openssl pkcs12 -inkey server.key -in server.crt -export -out server.pfx

 

App ServiceやWeb App for Containersの管理画面にアクセスして、「TLS/SSLの設定」→「秘密キー証明書(.pfx)」→「+証明書のアップロード」の順にクリックします。

 

先程作成した証明書を選択して、その証明書を作成するときに設定したパスワードを入力します。

 

以下のように表示されればOKです。

 

「カスタムドメイン」→「+カスタムドメインの追加」の順にクリックします。

 

「カスタムドメイン」のところに、HTTPSで接続したいURLのFQDN(https://hoge.example.com/だったらhoge.example.com)を入力して「検証」をクリックします。すると「ホスト名レコードタイプ」が表示されますので、「CNAME(www.example.comまたは任意のサブドメイン)」を選択します。そのときに表示された「カスタムドメインの検証ID」をメモします。

 

以下のTXTレコードをDNSサーバーに追加してください。先のカスタムドメインがhoge.example.comだった場合、以下のレコード名はasuid.hoge.example.comとなります。

レコード名

asuid.[カスタムドメイン名]

先程メモした「カスタムドメインの検証ID」の値

 

以下の画面に戻ってもう一度「検証」をクリックして、「ホスト名の利用可否」「ドメイン所有権」が以下のように両方緑色のチェックマークが付けばOKです。

 

「TLS/SSLの設定」→「バインド」→「+TLS/SSLバインディングの追加」の順にクリックします。

 

「カスタムドメイン」は先程追加したカスタムドメインを選択します。「プライベート証明書の捺印」は先程追加したPFX形式の証明書を選択します。「TLS/SSLの種類」は「IPベースのSSL」「SNI SSL」のどちらかを選択します。「IPベースのSSL」はApp Service PlanがStandardかPremiumだとプランあたり1つまで無料で追加できます。「SNI SSL」はいくつ追加しても無料です。最後に「バインディングの追加」をクリックします。

 

これでSSL証明書の設定は終わりです。なんかちょっとややこしいですね。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です