はじめに
Let’s encryptのおかげで無料でかつ簡単にSSL/TLS証明書を取得できるようになりましたので、個人でも手軽にSSL/TLS証明書が利用できるようになりました。
そこで本記事では、今まで自己署名証明書(いわゆる「オレオレ証明書」)でこっそり運用していたドメイン用のSSL/TLS証明書を取得し、すでに別のドメインのSSL/TLS証明書がインストールされているサーバに追加でインストールしてみます。
SSL/TLS証明書のインストール
root権限でシェルのコマンドプロンプトからLet’s encryptのページに記述されている通りに以下のコマンドを実行します(ドメイン名は実際に実行したものとは異なります)。
すると、以下のように表示されます。”Congratulations!”と表示されているので、証明書の取得に成功しているようです。寄付も求められているような気がしますが、気のせいということにしておきます。
ここで ls コマンドで /etc/letsencrypt/liveの下をのぞいてみます。
ディレクトリが2個になっているのが確認できます。
Apache httpd(v2.4.25)に設定する。
証明書の取得に成功したら、webサーバに対して設定を行います。Apache httpd(v2.4.25)の場合はssl.confを編集することで設定します。2つのドメインの設定はssl.conf内でVirtualHostタグですでに分割されているので、それぞれに対して証明書等の設定を行います。設定例は以下の通りです(証明書等に直接関連しない設定は省略しています)。
# 1つめのドメインの設定 | |
<VirtualHost _default_:443> | |
ServerName example.org:443 | |
SSLCertificateFile /etc/letsencrypt/live/example.org/fullchain.pem | |
SSLCertificateKeyFile /etc/letsencrypt/live/example.org/privkey.pem | |
</VirtualHost> | |
# 2つめのドメインの設定 | |
<VirtualHost _default_:443> | |
ServerName www.example.jp:443 | |
SSLCertificateFile /etc/letsencrypt/live/www.example.jp/fullchain.pem | |
SSLCertificateKeyFile /etc/letsencrypt/live/www.example.jp/privkey.pem | |
</VirtualHost> |
Apache httpdの再起動
上記の設定を行った後、Webサーバを忘れずに再起動します。
すると…
スポンサーリンク
今まで赤色のカギが表示されていたところに緑色のカギが表示されました。
ハマりどころ(2017/09/08補足)
Apache httpdのssl.confでDocumentRootの設定に”/var/www/html”以外の文字列を設定しているドメインがある場合には、/etc/letsencrypt/renewalの下にある<当該ドメイン名>.confのwebroot_mapの設定を以下のように変更しないと、証明書の更新に失敗する可能性があります。
まとめ
オレオレ証明書を作成していた時にはOpenSSLのコマンドを何回も実行しないと証明書を作成できなかったので、それに比べるとLet’s encryptはあまりセキュリティに詳しくなくても使いやすく、この手のセキュリティのシステムにしてはよく工夫されていると感じました。オレオレ証明書ではなく、正規に証明された証明書を利用できますしね。
この記事は以上です。