こんにちは!証券兄さんです。
ようやく当サイト「証券兄さんの投資の教科書」を常時https化することが出来ました。その際手探りで作業したのですが、これからhttps化する方は証券兄さんの試行錯誤を役に立ててくだされば幸いです!
そもそもhttpsって何?
「https」は「Hyper Text Transfer Protocol Secure」の略です(「Hyper Text Transfer Protocol over SSL/TLS」の略という説もある)。
何のことだとなりますが、つまり「http」にプラスして「鍵をしっかりかけて安全に」と注文していることになります。
さらに言えば、SSL/TLSという暗号を使ってやり取りしてくださいという命令であり、相手のサーバーがSSL/TLSに対応しているということでもあります。
「https」の命令でやり取りされれば、個人情報などのデータは暗号化されるので、たとえ盗み見られても安心だし、第三者に勝手に変更されることもないのです。
実際、クレジットカード情報など大切な個人データを扱うサイト、たとえば、お買い物サイトやオンラインバンキング、SNSなどはほとんどが「https」になっています。
Chromeなど多くのブラウザでは、サイトによって「https」で接続中は鍵のマークが表示されます。
「投資の教科書」のアドレスも鍵マークがついてますので見てみてください!
なぜhttps化が必要なのか?
https化をすることにより、安全性を高めることができるのはわかりましたが証券兄さんが導入を急いだのは次のニュースを見たからです。
Googleは、2017年10月リリース予定のChrome 62において、入力欄のあるHTTP接続のウェブページを表示した場合と、シークレットモードでHTTP接続のすべてのウェブページを表示した場合に、「安全ではない」と表示することを発表した。
Googleでは1月リリースのChrome 56で、パスワードやクレジットカード情報の入力を求めるウェブサイトにアクセスした際に、アドレスバーに「安全ではない」との警告を表示する変更を行っている。
10月から、Googleではhttpのままだと「安全ではない」と出るんですね。
参照:メモ置場のブログ
このような警告が毎回出てくるようになったら利用者としても不便ですよね。
現在ではGoogle Chromeのみですが、業界最大手のブラウザが導入すれば他のブラウザでも導入されていくと証券兄さんは思います。
実際にhttps化をやってみた!
そんな理由から、https化を行いました。証券兄さんが使用しているのは「さくらインターネット」さんのレンタルサーバーなので、まずはやり方を調べてみました。
https化に必要な手順は、
①証明書をサーバーに登録
②Wordpressのアドレスを変更
③プラグインを入れる
という感じで簡単そうなので、早速やってみました。(これが非常に大変な作業のはじまりでした…)
①証明書をサーバーに登録
調べたところ、海外のサイトなどで証明書を無料発行できるそうですが独自ドメインの時に苦労したので、さくらインターネットさんのサービスを使うことにしました。
ラピッドSSLなら、一年間で1500円なのでいいかなとこれを選択。エックスサーバーやロリポップでは無料で提供しているそうですよ。
ちょっと残念ですが、有料の方が証明書の変更などなさそうなので気にしないことにしましょう。
まずはさくらインターネットさんのサーバコントロールパネルにログインします。
次にログインしたページの左側にある「ドメイン設定」をクリックします。下の方にあります。
すると、ドメイン設定のページが開かれますので、https化したいアドレスの行にあるSSL>証明書>登録を押します。(赤枠で囲われた部分です)
すると、設定の欄が出てきますので必要事項を記入していきます。証券兄さんの場合、
ドメイン:「toshi-no-kyokasyo.com」
会社名:「投資の教科書」(ホームページ名で大丈夫です)
国コード:JP
都道府県:Shizuoka
市町村:Shizuoka
で入力しました。ご自身の情報を入力してください。(安全性の証明書なので、正確な情報を入れた方がいいですよ!)
CSRの作成を行うと秘密鍵が生成されるので必ずメモしておいてください。
すると下の方に、「ラピッドSSL」で登録するボタンが出てきますので押してください。(画像のSTEP.1)
次に契約プラン決めて払い込みを完了します。クレジットカードで決済するとすぐに次の段階に進めます。(画像のSTEP.2)
支払いが完了すると、サーバーに証明書が自動で登録されます。(画像のSTEP.3)
最後に、もう一度ドメイン設定に戻り証明書を登録したアドレスの「変更」を押します。
すると、ドメインの詳細設定が開かれます。そこの4番目の項目SSLの利用から、SNI SSLを利用するを選択し、送信を行います。
ドメイン設定にもどり、SSLの部分が次にようになってます。
この状態になったら、①証明書の登録は完了です。
②Wordpressのアドレスを変更
次にWordpressのアドレス変更を行っていきます。Wordpressのダッシュボードを開き、設定>一般を押します。
そして一般設定のWordpressアドレスとサイトアドレスをhttpsのアドレスに変更して、保存を押します。
これで、②Wordpressのアドレスを変更は終わり…
のはずでしたがこんな表示が、
ええええぇとなりました。とりあえず先ほどのアドレス変更を直そうとダッシュボードを開こうとすると、
ええええええええええぇぇ。入れないんですけど!!
とりあえずホームページの方を確認、
………終わった。
さくらインターネットのドメイン設定から、httpsを一度解除してもこの表示のままでした。
とりあえずダッシュボードに入れないとにっちもさっちもいかないので、Googleで検索したところ、アドレスを変更する方法があったのでそれを行いました。
WordPressのアドレスを変更して、入れなくなった場合の対処法
まずは、先ほどのようにさくらインターネットさんのサーバコントロールパネルにログインします。
次にログインしたページの左側にある「データベースの設定」をクリックします。
すると、データベース一覧が開きます。そこから、管理ツールログインをクリックします。
phpMyAdminが開きます。データサーバの編集がここでできるので、ユーザ名、パスワードを入れてログインします。
さくらインターネットのデータベース一覧の時に書いてあるデータベース名(2個前の画像のところです)が左側にありますので、そこをクリックします。
データベースの中身が出てきます。ズラーとたくさんあってわかりづらいのですが、○○○○_options というファイルがあるのでそこを選択します。
すると、siteurl、homeのところがあるのでそこの鉛筆マークをおして編集をします。ここの2つがWordpressアドレスとサイトアドレスに該当する部分になります。
編集画面になるので、ここでhttpsのsを削除します。(誤って変更してしまった方は元のアドレスに修正してください。)
siteurl、homeの修正が終われば元通りのアドレスでWordpressのダッシュボードに入れるはずです!
さくらインターネット 常時SSL化プラグイン!
はい。そういう訳で色々と調べた結果、さくらインターネットのサーバーだとリダイレクトループに陥ってしまうみたいです。
WordPress側はhttpsアドレスのサイトをサーバーから引き出そうとするのですが、さくらインターネットサーバー側は最初の設定だと、httpsのアドレスはない!httpのサイトを使いなさい。
となり、Wordpressとさくらインターネットサーバーの間でhttps→http→https→http→… とループに陥ってしまうみたいです。
それで、結局その問題があるためさくらインターネットさんではプラグインを作ってくれてるんです!名前もわかりやすく
「さくらのレンタルサーバ 簡単SSL化プラグイン」
やり方は、このプラグインを入れて実行するだけ。なんと簡単なんでしょうか。さくらインターネットさんありがとうございます!!
早速、ダッシュボードにログインしてから、プラグイン>新規追加をクリックします。
検索欄に「さくら」と入力すると出てきました!「さくらのレンタルサーバ 簡単SSL化プラグイン」です。今すぐインストールを実行します。
インストールが完了したら、ダッシュボードの中の設定>SAKURA RS SSL という項目が増えているのでそこをクリックします。
そうすると、設定画面が出てきますので、設定して有効化していきます。
まず画像の①の部分をクリックし、チェックマークを付けます。これは上に書いた①証明書をサーバーに登録の部分に該当します。
次に②の部分をSNI SSLを選択します。
最後にhttps版のアドレスがあるので、それを開いてみて開けるようならチェックを入れて、一番下の青色のボタンを押します。
ただダッシュボードの画面が、画像のようなバグ状態でした。とりあえずアドレスは使えているので気にせずに有効化!
有効化を押すと管理画面から強制的に排除されます。アドレス欄にhttpsを加えて(正確にはsを足すだけ)ダッシュボードの管理画面を開くと、
でーーーーーーーーーーーん。
まぁ、まだ設定が反映しきってないだけかもしれません。とりあえず一旦落ち着くために緑茶休憩を挟みました。
静岡のお茶はやっぱりおいしいですね。
そんなこんなで1時間ほど放置して、再度httpsにしたアドレスでダッシュボードの管理画面を開くと、
ですよねーーーーーーーーー。
もちろんホームページのアドレスをhttpsバージョンで入力しても、
…………。
とりあえずまた復旧作業です。さくらインターネットさんのサーバコントロールパネルにログインします。
次にログインしたページの左側にある「ファイルマネージャー」をクリックします。
すると、サーバーのファイルマネージャーが開きます。その中でサイトのファイルに当たる部分を開きます。証券兄さんの場合はworpressという名前にしています。(わからない方は、さくらインターネットのドメイン設定のパスの部分を見てください。ファイル名が書いてあります。
たまに、パスの部分が空白の方もいるそうですがその場合は初期ドメイン名のファイルにありますよ。)
ファイルの中の.htaccessを右クリックして編集をクリックします。
するとコードがたくさん出てきます。その中の#BEGIN Force SSL for SAKURAから#END Force SSL for SAKURAまでを削除して保存します。
するとダッシュボードにまた入れるようになります。プラグインメニューからインストール済みプラグインを選択し、「SAKURA SSL」を停止すれば以前の状態です。
さくらインターネットさんのトラブルシューティングを見ると、
再度SSL化を実行する場合はプラグインを一度削除し、インストールし直してください。
とあるので再度インストールを実行。2回目は、
また消して、3回目を実行すると
結局5回ほどやってもダメでした……
もう一度調べてみると…
以前のプラグインがない状態でhttps化を行っている方のサイトを見つけました。詳しくはそのサイトを見てもらえるとわかりますが、
.htaccessというファイルに
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://ドメイン名/$1 [R=301,L]
</IfModule>
というコードを、
wpconfig.phpというファイルに
if( isset($_SERVER[‘HTTP_X_SAKURA_FORWARDED_FOR’]) ) { $_SERVER[‘HTTPS’] = ‘on’;
$_ENV[‘HTTPS’] = ‘on’;
$_SERVER[‘HTTP_HOST’] = ‘ドメイン名’;
$_SERVER[‘SERVER_NAME’] = ‘ドメイン名’;
$_ENV[‘HTTP_HOST’] = ‘ドメイン名’;
$_ENV[‘SERVER_NAME’] = ‘ドメイン名’; }
というコードを書き込むとのことでした。
実際にやってみたところ、
もうやだ…
という状況です。さくらインターネットさんのサービスで2万円で設定をやってくれるというものがありました。
ですが、ここまできたら何とかしたい!
というか、他の有名ブロガーさんみたいに2万円も払えません…
証券兄さんが成功した方法
結局、証券兄さんはあきらめ切れず自分なりの方法を行いました。
(この方法は他のサイトに書いてなかったので、あくまで証券兄さんが成功した方法です。不具合とかでても対処できるようバックアップはしっかりと取っておいてください)
①証明書をサーバーに登録
やり方は記事の初めの方と被るので省略します。
この状態になったら次のステップに進みます。
②.htaccessとwpconfig.phpのファイルの修正
さくらインターネットさんのサーバコントロールパネルにログインします。
次にログインしたページの左側にある「ファイルマネージャー」をクリックします。
すると、サーバーのファイルマネージャーが開きます。その中でサイトのファイルに当たる部分を開きます。証券兄さんの場合はworpressという名前にしています。(わからない方は、さくらインターネットのドメイン設定のパスの部分を見てください。ファイル名が書いてあります。
たまに、パスの部分が空白の方もいるそうですがその場合は初期ドメイン名のファイルにありますよ。)
ファイルの中の.htaccessを右クリックして編集をクリックします。
ファイルの先頭に、次のコードを記入して保存します。(画像では先頭ではありませんが、プラグインを入れる前は先頭なので大丈夫です。)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP:X-Sakura-Forwarded-For} ^$
RewriteRule ^(.*)$ https://toshi-no-kyokasyo.com/$1 [R=301,L]
</IfModule>
赤字の部分は、ご自身のアドレスを入力して下さい。
次に、wpconfig.php(青枠で囲まれています)を右クリックして編集をクリックします。
ファイルの中段に、次のコードを記入して保存します。(位置がわからない場合は画像の通りの場所に記入して下さい。)
if( isset($_SERVER[‘HTTP_X_SAKURA_FORWARDED_FOR’]) ) {
$_SERVER[‘HTTPS’] = ‘on’;
$_ENV[‘HTTPS’] = ‘on’;
$_SERVER[‘HTTP_HOST’] = ‘toshi-no-kyokasyo.com‘;
$_SERVER[‘SERVER_NAME’] = ‘toshi-no-kyokasyo.com‘;
$_ENV[‘HTTP_HOST’] = ‘toshi-no-kyokasyo.com‘;
$_ENV[‘SERVER_NAME’] = ‘toshi-no-kyokasyo.com‘;
}
赤字の部分は、ご自身のアドレスを入力して下さい。
③さくらのレンタルサーバ 簡単SSL化プラグインを有効化
ダッシュボードにログインしてから、プラグイン>新規追加をクリックします。
検索欄に「さくら」と入力すると出てきました!「さくらのレンタルサーバ 簡単SSL化プラグイン」です。今すぐインストールを実行します。
インストールが完了したら、ダッシュボードの中の設定>SAKURA RS SSL という項目が増えているのでそこをクリックします。
そうすると、設定画面が出てきますので、設定して有効化していきます。
まず画像の①の部分をクリックし、チェックマークを付けます。これは上に書いた①証明書をサーバーに登録の部分に該当します。
次に②の部分をSNI SSLを選択します。
最後にhttps版のアドレスがあるので、それを開いてみて開けるようならチェックを入れて、一番下の青色のボタンを押します。
今回はアドレスから飛んでもバグも起こってない状態でした。有効化して、最初は、
でしたが、1分ほど待つと
やっっっったぁぁぁぁああああああ!!
ダッシュボードにも無事に入れました。計10時間以上、作業は3日間かかりました。無事に報われて本当によかったです。
基本的には、プラグインで画像やリンクなどすべてhttps化を行ってくれますが、例外がある場合はアドレスが次のよう(丸の中にiのマーク)になりますので、いくつかページを確認してください。
上のようなマークが出た場合はそのページを右クリック>検証を押します。
すると、ソースコードが開かれます。赤枠の部分に注意マークが出ますのでそこをクリックして問題を解決してください。
証券兄さんの場合はサイドバーの画像がhttpのままでした。外観>ウィジェット>サイドバーで修正してhttps化しました。
※一つでもhttpのアドレスが含まれているとhttps化しません。注意してください。
まとめ
非常に長くなりましたが、これでさくらインターネットでのhttps化は終わりです。あくまで証券兄さんの場合ですので、人によってはプラグインを入れて完了する人もいるかもしれません。
プロに頼むのも一つの手ですが、その前にぜひ一度ご自身でチャレンジしてみてください!
あくまでご参考までに。
今回も読んでいただきありがとうございました。疑問点や質問等がありましたらご意見下さい。次回もよろしくお願いします!