ウェブサイトのSSL化(その1)

この記事は約5分で読めます。

ウェブサーバ関連のTODO(2017年1月7日版)、での一項目、SSL化に着手。

まずは、WordPressのサイト2つ。

参考にしたのは、以下。

全部をフォローできてませんが、エラーはとりあえず出ていないのは確認。

スポンサーリンク

SSL証明書の入手

2つのサイトともに、let’s encryptでSSL証明書を入手。サーバにSSHでアクセスして、以下のコマンドを実行。

certbot certonly --webroot --agree-tos -w [ドキュメントのPATH] -m [メールアドレス] -d [ドメイン名]

SSL証明書は、/etc/letencrypt/live/[ドメイン名]/に保存されました。

Nginxの設定ファイルの修正

HTTPSで接続するので、Nginxの設定ファイルの修正が必要。

ssl.confを作って、共通設定をする。

ssl_session_cache shared:SSL:30m;
ssl_session_timeout 30m;
ssl_dhparam /etc/ssl/private/dhparam.pem;
ssl_stapling on;
ssl_stapling_verify on;
ssl_prefer_server_ciphers on;
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: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';

サーバごとの設定ファイルには、以下を追記。

server {
    listen       80;
    server_name  domain.com www.domain.com;

        # HTTP へのアクセスは全て HTTPS へリダイレクト
        return 301 https://domain.com$request_uri;
}

# HTTPS server
server {
        listen  443     ssl     http2;
        server_name     domain.com;

        ssl_certificate         /etc/letsencrypt/live/domain.com/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/domain.com/privkey.pem;

    # HTTPS のみでサービスを提供する場合にだけ設定します
    add_header Strict-Transport-Security "max-age=31536000" always;

Nginxの再起動

systemctl restart nginx.service

エラーが出なければ大丈夫。

自分は、一部SSL化したサイトが既にあったため、ssl.confの設定と重複すると言って怒られました。

WordPressのサイトURL変更

管理者メニューで、設定>一般の、WordPress アドレス (URL)、サイトアドレス (URL)を、http://〜からhttps://〜に修正。

サイト内リンクのURLの変更

すでに作成した記事の中で、http://domain.comとなっているところを、https://domain.comに変更する。これは該当箇所が多数あるのでツールを使いました。

具体的には、Search Regexというプラグインです。一括置換してしまいました。

外部リンクのURLの変更

上記のサイト内リンクのURL変更と同じようにすれば良いのですが、これはリンク先によるので一括置換は難しいかも。YouTubeなんかは一括でやっちゃいました。

Google Analyticsなどの変更

Google Analytics、Google Search Consoleなど、解析ツールなんかはURLの変更に対応させる必要があります。自分の場合は、Piwikも対応させました。

評価結果

SSL化した2つのサイトのうち、ひとつは、このブログです。

SSL Server Test (Powered by Qualys SSL Labs)でチェックしました。

うまくいったようです。

とりあえずは、この辺までです。

コメント