[AWS]Ubuntu18.04でSSL対応するために「Let’s Encrypt」を設定する

set_letsencrypt_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

無料SSL「Let’s Encrypt」を設定しよう

2016年4月、正式に開始された無料SSLの「Let’s Encrypt」ですが、既にエンジニアの方は御用達だと思います。

当初はSSL証明書が利用できるまでの設定が大変だったものの、今では簡単に設定が行えるようになっています。そこで今回は AWS にある Ubuntu18.04 で「Let’s Encrypt」を設定したときの手順をご紹介します。

 

certbot をインストールする

Let’s Encrypt を設定するとき、certbot コマンドで設定するのが簡単なため、certbot コマンドがパッケージとして提供されているかを確認します。Ubuntu の場合は、apt コマンドでパッケージの確認とインストールを行いましょう。

 

もし certbot パッケージが用意されていないときは、
https://certbot.eff.org/
にアクセスして、certbot のインストールするためのコマンド手順を確認すると良いです。
set_letsencrypt1

 

CentOS や Ubuntu などインストールしている LinuxOS と使用する Apache、Nginx などのWebサーバソフトウェアを選択することにより、簡単に certbot コマンドをインストールするための手順が表示されます。
set_letsencrypt2

 

certbot コマンドで「Let’s Encrypt」を設定する

では certbot コマンドで「Let’s Encrypt」をインストールしましょう。

実行例を確認してもらうとわかりますが、certbot コマンドを実行すると入力項目が3つ表示されます。

1つめは「連絡先のメールアドレス」。
SSLの期限が切れそうになると連絡が来たりしますので、日々チェックするメールアドレスを入力しましょう。

2つめは「利用規約の承諾」。
今回の場合であれば「https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf」に利用規約を設置しています。内容を確認した上で「(A)gree」と入力して、利用規約に承諾します。

3つめは「メールアドレスの共有許諾」。
Let’s Encrypt の協力団体である電子フロンティア財団にメールアドレスを共有しても良いかという内容です。色々なメールを送られても面倒なので「(N)o」を入力します。
※主に利用するメールアドレス1つは「(Y)es」を選択して、それ以外は全て「(N)o」を選択することをおすすめします。

サンプルコマンド

certbot certonly –webroot -w (ドキュメントルート) -d (ドメイン名)

サンプルコマンドの実行例

 

Let’s Encrypt にて SSL の発行に成功すると「/etc/letsencrypt/live/(ドメイン名)/」に SSL に設置されています。「fullchain.pem」の意味合いを取り違えて、中間証明書の設定場所に記述してしまうとセキュリティソフトによってはエラー表示になるため注意してください。

ファイル名 説明
cert.pem SSL 証明書
chain.pem 中間証明書
fullchain.pem SSL 証明書 + 中間証明書 がセットになったもの
privkey.pem 秘密鍵

 

「Let’s Encrypt」をウェブサーバーに設定する

最後に Apache2.4 / Nginx1.14 時の SSL の設定方法を記載します。
Apache2.4 のSSL設定

Nginx1.14 のSSL設定

 

さいごに

いかがでしたでしょうか?
一時期に比べると簡単に「Let’s Encrypt」で無料SSLが適用できるようになっていますので、積極的にウェブサイトを SSL 化しましょう。