httpのサイトを構築するよりも、httpsでサイトを構築した方が絶対的に良いです。前回のKocoCoko47で解説したように、httpではサイトのセキュリティが甘くなってしまう可能性が高いです。
Google検索で検索したURLをクリックした時に「このサイトは保護されてません」や「安全ではありません」という通知を見た事がある方は多いと思います。
そのようなサイトはURLがhttpになっています。サイトはhttpsにしないとセキュリティの強いサイトと判断されないでしょう。
httpsとは
https = Hypertext Transfer Protocol Secure
httpsはhttpでの通信と違い、第三者が盗聴をしたりハッキングをしたり出来ないようにしています。
https通信にする事は、SEO対策(Google検索上位対策)をする上で非常に重要です。理由は、Google社がhttps通信を行っているサイトは、検索上位対策に優遇すると公表しているからです。
故に、SEO対策をするのであれば検索上位を取る確率を上げる為にもhttp通信にしなければいけないのです。
Wikによると、「https自体は、プロトコルではなく、SSL/TLSプロトコルによって提供されるセキュアな接続の上でhttp通信を行うことをhttps通信と呼んでいる。」と記述してあります。
ちなみにプロトコルとは通信の規約の事です。
SSl/TLSとは
SSL = Secure Sockets Layer
TLS = Transport Layer Security
これは通信を暗号化する技術です。
https通信化する事をSSL/TLSと言います。httpsの(s)はSecureのsです。Secureとは日本語で安全という意味があります。
SSL証明書の発行方法
https通信にする為にはSSL証明書を発行しなければいけません。SSL証明書は、認証局(CA)で発行出来る電子証明書であります。
例えばGCP(Google Cloud Platform)ですと、無料のSSL証明書を発行して使う事が出来ます。
もしGCPのGCE(Google Compute Engine)で無料SSL化を行う際は、Google managed SSL certificateを使う事になります。大体の場合、発行元はLet’s Encryptと言う非営利団体の証明書認証局です。
これを使う事によって、クライアントからロードバランサに転送されるデータのプライバシーとセキュリティを保護しています。第三者はこの通信を見る事が出来ません。理由は秘密鍵が必要になるからです。
ちなみにロードバランサ(負荷分散)とは、サイトアクセス者が安定したサービス提供を行う為のサーバーにかかる負荷を平等に分散させる装置の事です。
GCPではなく、他のクラウドコンピューティングサービスでも認証局での証明書は使う事が出来ます。例えば、こちらのサイトのKocoCokoもhttps通信を行っているので、SSL証明書を使用している事になります。
こちらのKocoCokoはWordpressで作っておりますので、WordpressでもSSL化が出来ると言う事です。
https化で手こずった体験談
https化(SSL化)をする時にKocoCoko運営者は何度もミスをしています。その体験を聞いて、同じ間違いをしないで下さると光栄です。
まず、http通信からhttps通信にする時には、認証局の証明書が必要です。その証明書がない限りはhttps化は出来ません。その事を頭に入れた上でこちら体験談見て頂きたいです。
[1回目のhttps失敗]
過去にはてなブログでhttps通信を試みた時は、時間がかかってしまいました。
理由は、はてなブログのhttps設定はドメイン自体を変更するのだと勘違いしていたからです。
当時のサイトはお名前.comというドメイン購入サービスで購入していたのですが、KocoCoko運営者の僕はこの買ったドメインそのものを変更するのだと思っていた為、DNSレコード設定の変更ばかりしていたのですが、それはほぼ無駄でした。
お名前.com自体の設定の変更だけではなく、はてなブログの詳細設定からhttps化を選択する事がhttps通信にする方法だったのです。
[学んだ事]
ドメイン側の変更だけでなく、サービス側(ソフトウェア側)の変更もしなければいけない
[2回目の失敗]
AWS(Amazon Web Service)のlightsailからWoordpressで美容系サービスを作ろうとした時です。
この時は、何かの記事で「AWSのlightsailを使えば、Woordpressを常時SSL化出来る」という事を知り、AWS経由でWordpressを動かそうと試みたのですが、これはなかなか出来ませんでした。
この記事の内容を正確に言うと「認証局のLets encryptで得た証明書をAWSで使えます。だから無料で常時SSL化出来ますよ。」と言う事でした。
このサイトは未だに放置しております。
[学んだ事]
認証局で証明書は発行する、そしてその証明書を紐付る
[3回目の失敗]
3回目はGCP経由でWordpressを動かそうとした時です。
なぜ、GCP経由にしようとしたのかと言うと、値段が数倍安くなるからです。GCPでは無料クレジットと言うのがあり、30000円分の費用を安く出来ます。
故に、GCP経由でWordpressを動かそうとしたのですが、ここでもミスをしました。GCPのファイヤーウォール設定から何から何まで片っ端からやり、https化を試みたのですが、なぜかソフトウェア側のWordpress URLの変更(httpからhttps)が出来ませんでした。
ちなみにファイヤーウォールとは、通過させていけない通信を阻止するシステムの事です。
今でも解決していません。ですが、今後GCPで開発を行っていくKocoCoko運営者にとっては貴重な体験でした。理由は、失敗からの学びの方が多いからです。
[学んだ事]
GCPやAWSの設定を変更する時は、なんの変更をしたのかをメモしておく。
https化・成功例
やはり成功したのはこちらのKocoCokoです。KocoCokoはエックスサーバーでサーバーを借りました。
GCPやAWSを経由せずに、Wordpressを使ったので沢山の情報がGoogle上に一貫して掲載されておりましたので、分からない事は検索すれば直ぐに出てきました。
たった1日の内の数時間でKocoCokoの構築からSSL化(https通信)まで完成したのです。
[学んだこと]
まずそのやろうとしている事の情報は日本で沢山得る事が出来るかを検討する
このKocoCoko運営者の成功体験・失敗体験が、何かの学びになるととても光栄でございます。
KocoCokoの配信通知はYouTubeチャンネル登録となっております。配信日に通知を得る事が出来ます。KocoCokoでは、投資、キャリア、インターネットのおコンテンツがメインとなっております。
そして、KocoCoko運営者本人のInstagramもフォローお願いします。基本的にフォローバックしている事に加えて、ストーリーやコンテンツ投稿では為になる事をみなさんに公開しております。