Ubuntu16.04+Nginx をHTTPSに対応させる

November 23, 2017 by なっかあ

以前、構築したUbuntu16.04+Nginx なWebサーバをHTTPSに対応させます。

関連記事:Ubuntu16.04でWordPressが動くWebサーバを構築する | としつーる

HTTPS化する理由

最近のWebブラウザは、HTTPだとアドレスバーに警告表示を出す様になりました。(コメント欄など入力フォームがあるページが対象の様です。)

グーグル、HTTPページへの警告表示を強化へ–10月リリース予定の「Chrome 62」から – CNET Japan

今後もHTTPSの流れは進んでいくでしょうし、対応できるならした方が良いかなと思いました。

HTTPS化対応作業

SSL証明書の導入

今回は無料の証明書「Let’s encrypt」を導入します。

※以下の手順はドメインとサーバのIPアドレスが結びついていることが前提です。

まずはインストール。

sudo apt-get install letsencrypt python-letsencrypt-apache

次に証明書の発行を行います。

hogehoge.comの部分は自分のドメインにします。

sudo letsencrypt certonly --standalone -d hogehoge.com

参考:letsencryptをUbuntu16.04 + Nginxで使ってみた – Qiita

証明書自動更新の設定

証明書の有効期限は3ヶ月です。それまでに更新作業を行う必要があります。

手動で更新作業を行うのは手間なのでcronで自動化します。

私は毎月1日の5時0分に更新するようにしています。

00 05 01 * * sudo systemctl stop nginx; sudo letsencrypt renew; sudo systemctl start nginx

Nginxの設定

Nginx の設定ファイルにSSLの設定を追記します。

hogehoge.com の部分は自分のドメインに読み替えてください。

server {
        # SSL configuration
        #
        listen 443 ssl http2; #default_server;
        listen [::]:443 ssl http2; #default_server;
        #
        # Note: You should disable gzip for SSL traffic.
        # See: https://bugs.debian.org/773332
        #
        # Read up on ssl_ciphers to ensure a secure configuration.
        # See: https://bugs.debian.org/765782
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';

        ssl on;
        ssl_certificate /etc/letsencrypt/live/hogehoge.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/hogehoge.com/privkey.pem;

以下略

HTTPで接続してきた場合はHTTPSへリダイレクトさせます。

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

WordPressのURLを変更

WordPressを使っている方は、設定の一般を開き、WordPress アドレス (URL)とサイトアドレスを http:// から https:// へ書き換えます。

© 2018 nakkaa