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