1. KUSANAGIで超簡単!常時SSL化!
昨今のウェブ業界では、「常時SSL化」がキーワードです。
昔は「カートやウェブフォーム等、必要な所だけSSL化すればいいよね」といった感じでしたが、ここ数年で一気に「ウェブサイト全体をSSL対応させる」ようになりました。
しかし、従来「SSL証明書の購入・導入・更新」はとても大変な作業であり、かつてSSL対応サイトを運営してらっしゃった方には、その苦労が目に浮かぶのでは無いでしょうか。
KUSANAGIでは、これらをオールインワンパッケージとして、容易にWordPressサイト等に導入する事ができるようになっています。
2. 常時SSL化がキーワードの訳
これらの背景として、Google等のSEOのルールが変化しつつある事、サーバ・端末共に、常時SSL化に耐えられるだけの処理能力を得る事が出来るようになった事、及び、Let’s Encryptのように、容易にSSL証明書を導入出来るようになった、といった背景があります。
まず、google Chromeといったブラウザにおいて、SSL非対応サイトの取り扱いが変わり、SSL化に完全対応されていないサイトでは、「保護されていないサイト」と表示されるようになりました。
併せて、googleのサーチランキングに、SSL化(HTTPS対応状況)をスコアとして使用する事が明言されています。
HTTPS をランキング シグナルに使用します – Googleウェブマスター向け公式ブログ
http://googlewebmastercentral-ja.blogspot.jp/2014/08/https-as-ranking-signal.html
サーバの世界では、10年ほど前より、サーバコンピュータの処理能力が向上し、SSLで使用する専門の処理をサーバコンピュータのみで処理出来るようになりました。従来は大規模サイトを中心に、「SSLアクセラレータ」という専用のハードウェアを使い、SSLの大量の暗号化処理を行っていました。しかし、このハードウェアはとても高価であり、簡単に購入・導入出来るものではありませんでした。
SSLアクセラレータの例:COMPAQ AXL300 SSLアクセラレータカード
また、SSL証明書においても、従来は高い金額を払って購入・導入・更新作業を行っておりました。しかし、無償SSL証明書「Let’s Encrypt」など、無償かつ安全なSSL証明書を使用する事が出来るようになり、SSL化の流れが一気に加速しています。昨年から、大手ウェブホスティングサービスでもLet’s Encryptを使用したサイトのSSL化に対応が始まっており、注目されています。
3. KUSANAGIで常時SSL化はとってもカンタン!
KUSANAGIでは、オールインワンパッケージでサイトを容易にSSL化させる事が可能であり、また更新作業なども自動化されている為、とても気軽にSSL化させる事が可能です。また、SSL証明書の登録に必要なものは「技術連絡用のメールアドレス」のみであり、とてもハードルが低いです。
ここでは、実際に架空のサイトを作成し、常時SSL化させてみましょう。
3.1. その1-サイトをSSL対応させる
実は、第1回の内容で、既にSSL化の準備は完了しています。ポイントは、「–email foo@example」の部分であり、ここをご自身のメールアドレスに置き換える事で、SSL化の準備は終わっています。
もしくは、プロビジョン(サイトの作成)時に、以下のような質問があります。
Let's Encryptを使用される場合、Let's Encrypt の使用規約に同意される必要があります。 使用規約に同意される場合、あなたのメールアドレスを入力してください。同意されない場合、Enterキーを二回押してください。 使用規約は次のURLより確認できます: https://letsencrypt.org/repository/ メールアドレスを再入力してください。
作成時に「よくわからないからメールアドレスを入力しなかった」場合、後から設定を行う事が可能です。
ここでは、例として「http://mirror.p.mikalab.info」というブログサイトがあり、SSL化の準備が出来ていないとしましょう。
この場合、「https://mirror.p.mikalab.info」にアクセスすると、以下のような画面が表示されます。
この場合、KUSANAGIの管理画面で、以下のコマンドを使用してSSL化を行います。
# kusanagi ssl --email <メールアドレス> <プロファイル名> (中略) IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/mirror.p.mikalab.info/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/mirror.p.mikalab.info/privkey.pem Your cert will expire on 2018-07-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le (中略)
上記の表示が為され、無事にSSL化がされました。
もし「Congratulations!」と表示されない場合、何かしらのエラーがある事が考えられます。
主に、「メールアドレスの間違い」、もしくは「プロファイル名の間違い」ですので、確認してみてください。
この状態で、再び先のブログサイトの状態を観てみましょう。
無事に「保護された通信」という表示に変わりました。
3.2. その2-古いURLを自動転送する設定
さて、この状態では、「http://mirror.p.mikalab.info/」(古いURL)と、「https://mirror.p.mikalab.info」(新しいURL)両方でアクセスが出来てしまいます。
この為、場合によってはサイトが正常に表示されない場合があります。
ここでは、古いURLにアクセスがあった場合に、自動で新しいURLに転送(リダイレクト)する設定をしてみましょう。
# kusanagi ssl --https redirect <プロファイル名> mirror.p.mikalab.info 上のすべてのトラフィックを永久的にHTTPSにリダイレクトするよう設定します。 nginx/httpd の設定を変更し、再起動しました。 完了しました。
僅か1コマンドで設定が完了しました。
ここで、再びブログサイトの古いURLにアクセスすると、以下のように自動的に新しいURLに転送される事が確認できると思います。
3.3. その3-WordPressサイトの調整
しかし、このままではWordPressは「http://~」のままの設定で稼働しており、以降の更新作業等で不利になります。
ここでは、コマンド(wp-cli)でサイトの設定を一回で書き換えてみましょう。
# cd /home/kusanagi/blog_mirror/DocumentRoot/ # wp search-replace 'http://mirror.p.mikalab.info' 'https://mirror.p.mikalab.info'
wpコマンドには確認などありませんので、気になるようであれば「–dry-run」オプションを付ければ、テスト実行が可能です。
これにより、WordPressサイト内のURLを一括置換する事が出来ました。
4. 終わりに
今回の内容で、KUSANAGI上でWordPressサイトを運営している場合、とても簡単に常時SSL化できる事がわかりました。
Let’s Encryptを使った常時SSL化により、SSL証明書の更新といった煩雑な手続きや、高価なSSL証明書を購入する事無く、すぐに常時SSL化の恩恵を受ける事が可能です。
次回は、「KUSANAGI上のサイトをキレイに削除してみよう」です。
どうぞお楽しみに。
- 本文中で紹介しているデモサイトは、予告なく運用を場合があり終了する場合があります。
予めご了承ください。