無料で個人Webサイトをhttps/SSL暗号化する方法 / Cloudflare共有SSL証明書/Let’s Encrypt
Googleの方針もあり、Webサイトをhttps/SSL暗号化するのは常識となってきました。 対応していないとURLバーに「保護されていません」というメッセージが表示されてしまいます。 一方で、個人情報を扱わない趣味の個人サイトで、有料の正式なSSL証明書を導入するのは現実的ではありません。 ここでは無料で使えるCloudflare共有SSL証明書を使って、Webサイトをhttps化してみます。
もくじ
Let’s Encrypt
無料で使用できるSSL証明書としてはLet’s Encryptが有名です。 使用しているWebサーバーにコンソール・ログインして、コマンドラインでアプリケーションがインストール、実行できる環境にある場合はベストソリューションでしょう。 しかしSOHO向けレンタルWebサーバーなどでは、このような細かい操作は不可能な場合も多く、これまではhttps化をあきらめるか、有料の正式SSL証明書を導入するしかありませんでした。
Let’s Encryptオフィシャルサイト
Cloudflareの共有SSL証明書
CDN(コンテンツデリバリーネットワーク)サービス等を提供する米国Cloudflare社は、一般ユーザー向けに、無料で共有SSL証明書を発行するサービスを行っています。 これは、自分のWebサーバーを示すDNSをCloudflare社のものに変更することで、WebサーバーのコンテンツをCloudflare社のCDN経由で配信するものです。 これを利用すれば、コンテンツは世界中に存在するCloudflare社サーバーからの配信となるためWebサイトの表示が高速化できるだけでなく、Cloudflare社のサーバーとエンドユーザー間を共有SSL証明書で暗号化してくれます。このサービスを利用するのに必要な最低条件は以下の通りです。
- 独自ドメイン名を取得していること。
- 独自ドメインのDNSが変更できること(WHOIS情報の更新ができること)。
- 使用しているWebサーバーが、IPアドレス直打ち(http://[IPアドレス]/)でページ表示できること。
- 使用しているWebサーバーが、特定のIPアドレスからの多数リクエストを拒絶しないこと(WAFやFirewallでアクセス制限がかけられていないこと)。
Cloudflare社オフィシャルサイト
Cloudflareの無料アカウントを取得する
まずはCloudflareの無料アカウントを取得します。なお、この右のドロップダウンリストは、初期値として「Full」が選択されています。 これは、訪問者-Cloudflare間に加え、Cloudflare-Webサーバー間も暗号化する設定です。 この設定で使用するにはWebサーバーにも証明書のインストールが必要です。
Webサーバーに証明書をインストールせずに使用するには、ここを「Flexible」に変更します。
逆にWebサーバーに正式な証明書をインストールできる場合は「Full(strict)」に変更します。
メールアドレスの認証
このメールはプロバイダによって迷惑メールに分類されがちです。 もし届いていないようであれば、迷惑メールボックスを確認しましょう。 差出人アドレス「noreply@cloudflare.com」を必着設定にしておくと良いかもしれません。
WebサーバーへのFTP接続の変更
Cloudflareのサービス利用開始後に、Webコンテンツ更新のためWebサーバーへFTP接続する場合、FTPクライアントソフトからの接続名に注意する必要があります。 Cloudflareで保護されたWebサーバーへはドメイン名を使ったFTP接続ができません。 直接IPアドレスを指定して接続してください。
Using FTP with Cloudflare.(Cloudflare)
埋め込み画像、YouTubeリンク、アフィリエイトリンクの対応
https化すると、古いYouTubeの埋め込み動画や、アフィリエイトリンクが表示されなくなることがあります。 また、ページ内に"http://"で参照している画像などがあると、アドレスバーに「このページの一部(画像など)は安全ではありません」といった警告が出てしまいます。 リンクの見直しが必要となります。YouTubeの場合は、"http://www.youtube.com/..."を"https://www.youtube.com/..."に変更します。 imgタグのsrcは、多くの場合"http://..."を"//..."とすることで対処できます。 アフィリエイトの場合はケース・バイ・ケース、アフィリエイトのオフィシャルサイトを見て、最新のリンクを作り直します。
これらの修正に伴い、Webページのデザイン見直し作業も発生する可能性があります。 https化で最も時間がかかる作業です。 慎重に見直しを行ってください。