【Nginx】CentOS7(さくらVPS)で、SSL化を設定する方法

こんにちは、nishi_talk(@nishi_talk)です。
今回はCentOS7(さくらVPS)で、SSL化を設定する方法をご紹介します。



Nginxの設定はこちらに書いてます。

【Nginx】CentOS7(さくらVPS)で、Nginxを設定する方法

前提条件として上記記事の設定が済んでるとして、SSL化をしていきましょう。

SSL化に必要な証明書を無料で発行してくれる「Let’s encrypt」を使います。

Let’s encryptの証明書を発行

$ cd /usr/local/
$ sudo git clone https://github.com/certbot/certbot

Let’s Encryptは、Certbotを使うと、SSL/TLSサーバ証明書の取得・更新作業を自動化できる仕組みになっていて、独自ドメインがあれば、簡単なコマンド操作でSSL/TLS証明書(無料)を取得できます。

$ cd certbot/
$ ./certbot-auto certonly --webroot --agree-tos -w /var/www/html/hoge -m hoge@mail.com -d hoge.com

certbot-autoを使って証明書を発行します。
オプションはこんな感じで設定します。

certonly 証明書の発行のみを実行する
–webroot 発行された証明書の一時保存に Webサーバの指定ディレクトリを使う Webrootモードを指定する
–abree-tos ライセンスの同意
-w Webrootモード時に利用する証明書の一時保存ディレクトリを指定する
-m お知らせするメールの宛先を指定する
-d 発行する証明書のドメインを指定する

証明が発行されたか確認

$ sudo ls -lrth /etc/letsencrypt/live/hoge.com
total 4.0K
lrwxrwxrwx 1 root root  37 Oct 29 12:21 privkey.pem -> ../../archive/hoge.com/privkey1.pem
lrwxrwxrwx 1 root root  39 Oct 29 12:21 fullchain.pem -> ../../archive/hoge.com/fullchain1.pem
lrwxrwxrwx 1 root root  35 Oct 29 12:21 chain.pem -> ../../archive/hoge.com/chain1.pem
lrwxrwxrwx 1 root root  34 Oct 29 12:21 cert.pem -> ../../archive/hoge.com/cert1.pem
-rw-r--r-- 1 root root 682 Oct 29 12:21 README



Nginxの設定

SSL化をするのにNginxの設定を変更します。

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

server {
    listen      443 ssl;
    server_name hoge.com;
    root        /var/www/html/hoge;
    index       index.php index.html index.htm;
    charset utf-8;
    ssl_certificate /etc/letsencrypt/live/hoge.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/hoge.com/privkey.pem;

    location / {
      index  index.html index.htm;
    }
}
ssl_certificate Let’s Encryptで作成した証明書ファイルのパスを指定します
ssl_certificate_key Let’s Encryptで作成した証明書ファイルのprivkeyのパスを指定します

Nginxを再起動

最後にNginxを再起動して設定を読み込みます。

$ systemctl restart nginx