Lets’s Encrypt(レッツ・エンクリプト)で無料でサイトをSSL対応しよう


こんにちわ。
みなさんSSL対応していますか?

iOSがATS(SSL対応)必須を発表してGoogleさんもSSL推奨している現在、
今やWebサーバーではSSL対応は標準になりつつあります。
ただSSLといってもお金がかかるし面倒だ….という人も多いかと思いますが
そんな人でも簡単に無料で自分のサーバーにSSL対応できるのがLet’s Encryptプロジェクトです。

Lets’s Encrypt(レッツ・エンクリプト)とは?

SSL/TLS の暗号化通信に用いる証明書の認証局(CA; Certificate Authority)の1つでインストールから更新まで自動化することを目標にしているプロジェクトらしいです。

Lets’s Encrypt 総合ポータル

細かいSSLの仕組みを知らなくても簡単にインストールできます。
僕は10分ほどで導入できました。

とりあえずSSLを無料で導入してみる

ubuntu 16.04,nginxで構成しています。
ドメイン部分は自分の独自ドメインに適度に置き換えて下さい。

SSLのポート(443)を開きます
sudo ufw allow 443

cUrlが入っていない場合インストール
apt install curl

curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto
chmod 700 /usr/bin/certbot-auto

証明書を生成します。
wwwあり、なし両方使う場合はありなし両方で生成する必要があるみたいです。

certbot-auto certonly --webroot -w /var/www/example.com/public_html/ -d example.com --email info@example.com

/etc/nginx/sites-availavle/defaultを開き下記を追記

server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
root /var/www/ateliee.com/public_html;
access_log /var/log/nginx/example.com.ssl.log;
error_log /var/log/nginx/example.com.ssl.error.log;
}

自動更新の設定はcrontabで下記のコマンドを実装すればよさそう
crontab -u root -e
00 05 01 * * certbot-auto renew --force-renew && service nginx restart

いかがでしたでしょうか?
SSLを無料で導入できるのは嬉しいし、SEO対策にもなるので是非お試しください。

参考

Let’s EncryptのSSL証明書で、安全なウェブサイトを公開

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です