月曜日までに考えておきます

ITネタとゲームネタ中心に興味のあること色々書きます。

AWS Certificate Managerでワイルドカード証明書を発行してちょっとハマったこと

先日、東京リージョンでも利用可能になったSSL証明書の発行サービス、AWS Certificate Managerなんですが、これを使ってワイルドカードの証明書を発行して実際に使用してみたらエラーが起きたのでその原因と解決策について書きます。

ワイルドカードSSL証明書を発行したことがある人にとっては常識なのかもしれませんが、ご了承ください。

なお、本記事はドメインexample.comとして書いていますが、実際には自前で取得したドメインで操作を行っているのでその前提で読んでいただければと思います。

*.example.comexample.comにマッチしない

字面だけみたらそりゃそうだろ感あるんですけど自分的に意外だったので。

Domain Nameに*.example.comを入れて、CloudFrontでその証明書を指定して、ブラウザで”https://examples.com"にアクセスしたところこの証明書は不正だけど信頼してアクセスするか?のようなオレオレ証明書を使ったときと同じような警告画面が表示されてしまいました。

*.example.comは”https://www.example.com”や”https://sushi.example.com"にはマッチするんですが、”https://example.com"にはマッチしないわけですね。

なので、Domain Nameには”example.com"を入れる必要があります。

ただし、これだと今度は”https://www.example.com"の時にエラーになります。 これの解決策は下記の内容になります。

*.example.comを入力する場所

のどれでアクセスされたとしても”https://example.com"にリダイレクトさせるというようなことはよくやると思うので、何とかする必要がありますね。 AWS Certificate Managerの"Add another name to this certificate"ボタンを押すともう一つ入力欄が出るので、そこに*.example.comを書いてやれば”https://example.com”,”https://www.example.com"の両方が許可されることになります。なお、2つ書くと証明書のApproveのためのメールが2通届き、両方を承認しないと証明書のステータスがIssuedにならないのでご注意ください。

こんな感じで入力して、

こうなればOK

また、あくまで”https://example.com”と”https://www.example.com"だけ許可したくて、ワイルドカードでは許可したくないという事情がある場合はAdd another name...を押したあとにwww.example.comと書くことも可能です。