当ブログや、管理人のポートフォリオサイトであるchibiharu’s Labは、証明書認証局の一つである「Let’s Encrypt」の発行した証明書を使用してサイト暗号化がされています。
「Let’s Encrypt」の発行するSSL証明書は誰でも無料で利用することができます。
ググればlegoを使用したSSL証明書の発行手順がごまんと出てきますが、その殆どがシンプルに1つのドメインを指定して証明書を発行するといった手順になります。
本記事では、そのよくある手順をちょっとひねって、ドメインを2つ以上指定して、証明書を発行する方法を公開したいと思います。
概要
本記事の概要を以下に記載します。
本記事の概要
「Let’s Encrypt」を利用して、2つ以上ドメインを指定してSSL証明書の発行を行います。
当サイトはAmazon Lightsail上に立っている為、Lightsail上のWordpressサイトをサブドメイン(www.)を含めた2つ以上のドメインを指定してSSL証明書の発行し、サイト暗号化を行う。
といったシュミレーションで進めます。
※ Legoであれば、動作環境(サーバやCMS)は全く関係が無いので、皆さんがはご自身の環境に置き換えて本記事をお読みになっていただければと思います。
背景
そもそもなんでドメインを2つ以上してSSL証明書を発行するといったことをしだしたのかというと、ちょっとした背景があります。
記事の冒頭でも記載しましたが、私「chibiharu」が運営しているWebサイトは「Let’s Encrypt」で発行した証明書を使用してサイト暗号化を行ってます。
結論から言うと、一年近くサブドメインの証明書を発行していなかった為、証明書エラーが発生し続けていました。
経緯を話すと、当ブログのWebサーバはApacheを利用しています。
htaccessでサブドメインからのリダイレクト設定をいれていた為、サブドメイン分の証明書は不要だと勘違いしていました。。
その為、サブドメインでアクセスした際に証明書エラーが発生してしまうという事象が発生してしまい、一年近く悩み続けてました(見て見ぬ振りしてました)。
で、先日ある作業を行い、動作確認として、Twitter上の有志の方にアクセス確認をお願いしたところ、サブドメインでのアクセス時に証明書エラーがでますよと指摘を頂きました。
指摘頂いた方にどうすればいいか相談させて頂いたところ、サブドメイン分の証明書も一緒に発行する必要があるよと教えていただき、無事、本事象は解決しました。
SSL証明書発行手順
前提
Legoを使用しての基本的なSSL証明書発行手順については、本記事では省略させていただきます。
SSL証明書の発行なんて全く分からないといった方は、まずは以下の記事をお読みになることをオススメします。
ドメインを2つ以上指定しての証明書発行コマンド
結論からいうとLego実行時にドメインを2つ付けてあげると、サブドメイン分の証明書も一緒に発行してくれます。
■ コマンド
sudo lego --email="aaa@example.com" --domains="example.com" --domains="www.example.com" --path="/etc/lego" --http run
勿論ワイルドカードをサブドメインに指定してLegoを実行するのが一番てっとり早い気もしますが、www等のサブドメインを取っている場合は、上記コマンドを利用するのが正となります。
参考
Generate And Install A Let’s Encrypt SSL Certificate For A Bitnami Application
まとめ
「Let’s Encrypt」は利便性高いですが、ドキュメントも英語で、中々調べにくいところがあります。
本記事の内容が少しでも皆様のお役に立てればと思います。
コメント