Zone Apex環境でワイルドカード証明書を適用するときの注意点

Zone Apex(ネイキッド・ドメイン、ルートドメイン)でワイルドカード証明書を適用するとき、注意しておいたほうがいいことを紹介します。

証明書はSSL通信をするさいに必要です。サーバーに適用しておくと、WebサイトをSSL通信、つまりhttpsのURLにすることができます。証明書を認証局に作ってもらうさいにワイルドカード証明書を利用すると、ひとつの証明書ですべてのサブドメインに適用できます。

例えば、このブログのドメインであれば、「*.kosukety.org」というワイルドカード「*」が含まれた証明書を利用すれば「www.kosukety.org」や「media.kosukety.org」、「mail.kosukety.org」などのドメインにひとつの証明書で対応できます。

ところが、Webサイトをwwwなどのサブドメインで運用している場合は問題がないのですが、Zone Apex(ネイキッド・ドメインやルートドメイン1などと言われることもあります)の場合は注意する必要があります。

ワイルドカード証明書「*.kosukety.org」は「www.kosukety.org」とドメインは一致するのですが、「kosukety.org」とは一致しないのです。つまり、「*.」の部分が一致していないのです。ワイルドカードのうしろに「.」が入っているので、ドットのないZone Apexとは一致しません。すると、Zone Apexのサイトでは証明書が不正であるとブラウザーの警告が表示されます。

これを避けるために、証明書を作成するときにDNS名を追加する必要があります。証明書で「*.kosukety.org」を指定して、「kosukety.org」のDNS名を追加すれば、サブドメインもZone Apexも、どちらにも証明書を適用することができるようになります。

ここでは、私が利用したAWS Certificate Managerを例にとって説明します。

まず、証明書を要求します。

AWS Certificate Manager

そして、証明書を要求するときに「この証明書に別の名前を追加」ボタンをクリックします。

AWS Certificate Manager

別の名前としてZone Apexを指定します。

こうすることで、「*.kosukety.org」という証明書の中にDNS名として「*.kosukety.org」と「kosukety.org」のふたつが含まれます。これにより、Zone Apexもサブドメインもどちらに使ってもブラウザーで証明書の警告が表示されずにSSL通信にすることができるのです。


  1. ルートドメインは、正確にはドメインの一番上の階層「.」のことを表します。本来の意味は、.comや.orgなどのトップレベルドメインよりも上の存在のことですが、サブドメインではないということで、このような呼ばれかたをすることもあるようです。 ↩︎
カテゴリーIT