Y

Let's Encryptとnginxを5分で設定する

いままでStartSSLでした

いままではStartSSLを利用していました。手順が面倒でしたが無料なので我慢してました。(SSLの設定は面倒なのが当たり前だと思ってました...)

昨年末についにLet's Encryptがリリースされて評判も良いので使ってみたら設定だけなら5分でできましたのでメモします。

はじめる前に

設定するドメインにHTTPアクセスできる必要があります。

例えば www.sample.com に対してhttpsの設定をする場合、www.sample.com に対してhttp接続できる状態にしておきます。

Let's Encryptの証明書取得

git cloneして証明書を作ります。

今回はドメインは www.sample.com ドキュメントルートは /path/to/root/www.sample.com とします。

#cd /tmp
#git clone https://github.com/letsencrypt/letsencrypt
#cd letsencrypt
#./letsencrypt-auto certonly --webroot -d www.sample.com --webroot-path /path/to/root/www.sample.com

nginx設定

作成した証明書を設定します。

server {
    listen 80;
    server_name www.sample.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name www.sample.com;
    root /path/to/root/www.sample.com;

    ssl_certificate /etc/letsencrypt/live/www.sample.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.sample.com/privkey.pem;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA;

    ssl_protocols TLSv1.2;

    index index.html index.htm index.php;
}

nginxを再起動して、httpsアクセスしてみます。

スクリーンショット 2016-02-12 11.25.40.png

有効な証明書として設定されていますね。

まとめ

簡単ですね。ただし有効期限が3ヶ月なので証明書の再設定が必要です。

参考

Let's Encrypt

Let's EncryptとnginxでHTTP/2サーバを立てる

無料のSSL証明書StartSSLを活用する

TipMe

TipMe with IndieSquare