というわけで、Chrome等のブラウザが常時SSL化され、httpのサイトは「保護されてない通信」と警告が出るようになってます。
サイト管理者となると、そういった警告は嫌であるので、常時SSL化に対応してみたいと思います。
常時SSL化するにあたり証明書を取得するには、いままであれば有料の証明書しかなかったですが、2016年4月に無料で証明書を発行できる認証局ができました。
それが「Let's Encrypt」であります。
「Let's Encrypt」をVPSなりAWSのEC2で利用するには、「certbot」というプログラムを使うのが一般的ではあるようですが、使い勝手が非常に悪い(個人的見解です)ので、使い勝手の良い「acme.sh」というのを使ってみたいと思います。
今回は、EC2で「acme.sh」が利用できるまでを紹介したいと思います。
※EC2のインスタンスは「Amazon Linux」をベースにインスタンスが立ち上がっている状態で進めます。
※当然、apacheやnginx等のWEBサーバーを想定してます。
(1)githubからダウンロードするための準備
gitコマンドをインストールします。すでにインストール済みの時はスキップしてください。
# yum -y install git
(2)「acme.sh」をgithubからダウンロード
# git clone https://github.com/Neilpang/acme.sh
(3)環境設定をします。
「acme.sh」をインストールするのと同時に設定ファイルの保存ディレクトリや発行したSSL証明書を保存するディレクトリの設定をしています。
併せて、更新するためのcron設定もされます。
# cd acme.sh
# ./acme.sh --install --home ~/.acme.sh --config-home ~/.acme.sh/data --certhome /etc/httpd/certs
# source ~/.bashrc
(4)インストールできたか確認!
コマンドを実行するとバージョン情報が表示されます。
# acme.sh --version
以上で「acme.sh」を利用できる状態までの手順でした。
次は、実際に証明書を取得する手順をお伝えできればと思います。