雑記1983

ブログは人の為ならず

Wordpress

Let’s EncryptがだめなのでCloudflareで無料でSSL化をしたinミニバード

投稿日:2017年4月2日 更新日:

無料のSSL証明書発行サービスのLet’s Encryptはレンタルサーバーのミニバードでは使えなかったため他になにか手段がないかと検索していたらCloudflareというCDN(Content Delivery Network)サービスでSSLも利用できるようなので試してみました。

現在ミニバードは新サービスのスターサーバーになりスターサーバーでは標準でSSLが利用できるためCloudflareで擬似SSL化する必要性はなくなりました。

結果としてはミニバードでも使えました。ちなみにこのブログはミニバードのサブドメインのため導入出来ていません。導入するには独自ドメインが必須です。

Cloudflareとは

まずCDNCloudflare(クラウドフレア)とは何かといいますと世界中のサーバーからコンテンツ配信を行ってくれるサービスです。私の場合ですと通常であれば契約しているレンタルサーバーのミニバードにブログ訪問者はアクセスしてくるわけですがこれをCloudflareが効率よく配信するために手助けしてくれます。

具体的にはブログのコンテンツをCloudflareがキャッシュしてくれてブログにアクセスがあった場合に世界中に張り巡らされたCloudflareの中継サーバーがミニバードの代わりにコンテンツを配信してくれます。

インターネットではアクセスした人の近くにあるサーバーで応答したほうがアクセス速度が改善するので訪問者は素早くブログにアクセスすることが可能になります。

そしてそのサービスの一環としてSSLにも対応しています。

Cloudflareで出来るSSL化は普通のSSLではない

Cloudflareで出来るSSL化にはフルフレキシブルといった種類があります。フルはまさしく全部の通信をSSL化してくれるの(普通のSSL)ですがこれはミニバードのコンテンツをSSL化出来ない(無料で出来ないだけです)ため私の環境では使えません。ですのでフレキシブルSSLを利用します。

このフレキシブルSSLというのはアクセスする側からCloudflareまでの通信はSSLで暗号化され、Cloudflareからミニバードまでは暗号化されてない普通のhttp通信になります。ですので何かデータの送信をする場合には安全ではないということに注意が必要です。

ただこのような個人ブログの場合は訪問者はコメントなどを残さない限りデータを送信することはなく受信メインとなります。ブラウザ上で安全ですと表示された方が安心感があるため導入しないよりはしたほうがいいのではないかと思います。

私はこれまで世の中のSSLは全て暗号化されたものだと思っていましたがこんな中途半端はSSLというものもあるのを知りちょっと怖くなりました。さすがに大手企業であればフルSSLでしょうから大丈夫だと思いますが小さなオンライン通販業者などを利用する場合はhttpsとなっていても危険かもしれないと思った方がいいかもしれません。

CloudflareでのフレキシブルSSL導入手順

https://kodak-ism.com/cloudflare-flexible-ssl/
のページを参考にさせてもらいました。

1.CloudflareCDNサービスを利用するには無料の会員登録が必要です。

CloudflareSSL手順1

Cloudflareの会員登録ページにアクセスしEメールとパスワードを入力します。利用条件とプライバシーポリシーに同意するチェックを付けて「Create account」をクリックします。

2. Add a websiteのテキスト入力ボックスにCDN(SSL)を利用したいドメインを入力し「Scan DNS records」をクリックします。

CloudflareSSL手順2

DNSレコードのスキャンが終わるまでしばらく待ちます。スキャン中にはCloudflareがどんなものかという動画が流れました。

CloudflareSSL手順2-2

スキャン終了後「Continue」をクリックします。

CloudflareSSL手順2-3

3.現在のDNSレコードが表示されるのでドメインとwwwStatusがクラウドフレアのマークになっているのを確認し「Continue」をクリックします。サブドメインなどがある場合はここで追加する必要があるのかと思います。

CloudflareSSL手順3

4.Cloudflareを利用するプランを選択します。初期選択は有料のビジネスプランになってるのでFree Websiteを選択します。

CloudflareSSL手順4

5.ドメインのネームサーバーをCloudflareのネームサーバーに変更する必要があります。ドメイン管理会社のDNS変更ページで変更し、「Continue」をクリックします。

CloudflareSSL手順5

6.次のページでOverviewが表示されていますがSSL設定が初期では「Full」になっているためこれを「Flexble」に変更します。

Cryptoメニューをクリックし、SSLFlexbleにします。

CloudflareSSL手順6

7. 24時間以内にネームサーバーの変更が終わり、StatusActiveに変われば利用可能になります。(SSL証明書発行とはまたタイミングが異なるのでこのActiveCDNが利用できるようになったかどうかのようです。)Cryptoメニューで証明書が発行されたかも確認し、発行されていたらブラウザでhttpsのアドレスで表示できるか確認するといいと思います。

CloudflareSSL手順7-1

8.次にWordPressにログインし、サイトアドレスなどをhttpsに変更します。

WP Encrypt SSL化手順7

注意:これをやってしまったら管理者画面にログインできなくなってしまいました。私はSiteGuardというセキュリティプラグインで管理ページアクセス制限を掛けていたのですがそれが有効になっているとログイン不可能になりFTPでのファイル修正が必要になりました。ですのでもしSiteGuardプラグインを利用している場合は管理ページアクセス制限はオフにしましょう。

CloudflareSSL手順8

SiteGuardプラグインが原因でログイン出来なくなった場合についてはこちらを参照しました。

http://beadored.com/can-not-login-because-siteguard-wp-plugin/

上記のページでは.htaccessSiteGuardによる記述を削除していますが

以下のADMINフィルターの記述だけ消せばログイン出来るようになりました。

#==== SITEGUARD_ADMIN_FILTER_SETTINGS_START
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^404-siteguard – [L]
RewriteRule ^wp-admin/css – [L]
RewriteRule ^wp-admin/images – [L]
RewriteRule ^wp-admin/admin-ajax.php – [L]
RewriteCond %{REMOTE_ADDR} !^(***\.0\.0\.1|***\.***\.***\.***)$
RewriteCond %{REMOTE_ADDR} !^***\.***\.***\.***$
RewriteCond %{REMOTE_ADDR} !^***\.***\.***\.***$
RewriteRule ^wp-admin 404-siteguard [L]
</IfModule>
#==== SITEGUARD_ADMIN_FILTER_SETTINGS_END

***は各自の環境によって異なります。

管理ページにアクセスできなくなると焦りますね。他にも国外IPアクセス制限などがレンタルサーバーで設定してあったりするとCloudflareが国外IPからアクセスするため接続出来なくなることもあるため国外IP制限がある場合はOFFにしておきましょう。

自分のサイトの安全性を高めるためのはずが安全性が低くなってる気がするのは気のせいでしょうかwセキュリティプラグインで補完するしかないですね。

9.最後にCloudflareCryptoメニューでHTTP Strict Transport Security(HSTS)を有効(Enable)にします。これで訪問者はhttpでアクセスしてきても強制的に暗号化されたhttpsで通信ができるようになるそうです。

これを設定したらしばらくしたらこの設定が影響してかアクセス出来なくなりました。フレキシブルSSLの場合は無効にしておかないとだめなようです。

SSL_ERROR_BAD_CERT_DOMAIN

Firefoxで出たSSL_ERROR_BAD_CERT_DOMAIN

httpsでのアクセスが出来るようになった次の日くらいからアクセスが出来なくなりCloudflareに問い合わせましたがフレキシブルSSLとHSTSの併用は可能とのことでした。
なので原因はいまいちよくわかりません。ネットで調べてみるとセキュリティ対策ソフトなどが問題になりそうな情報も見ましたが結局最終的によくわからないまま復帰していました。

HSTSは使わない方が無難ではないかと思います。

CloudflareSSL手順9-1 CloudflareSSL手順9-2

以上でSSL化が完了です。今回はほとんど新しいサイトでSSL化を試してみたため内部リンクなどの変更も必要ありませんでしたがリンク先アドレスもhttp→httpsに変えるなども必要になります。またGoogle Search Consoleなどの登録もhttphttpsでは別物になるので再度登録が必要です。

SSL利用したいからサブドメイン利用やめようかな・・・。

Google Adsense

Google Adsense

-Wordpress
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

WP Encrypt SSL化手順7-2firefoxエラー

独自ドメインSSL(https)を無料で出来るLet’s EncryptをWordPressプラグインWP Encryptで試してみたがミニバードでは出来なかった。

最近は様々なサイトがhttpからhttps(SSL)に移行しています。httpsは暗号化されるのでクレジットカードなどの重要な情報を入力するページではデータが暗号化されるhttpsのサイトを使うのが一 …

リダイレクトが戻らない

Redirectionプラグインでリダイレクトを削除したのにリダイレクトされたままになった時に試したこと

サイトメンテナンスのためトップページをリダイレクトしていた WordPressの「Redirection」プラグインを使ってサイトメンテナンスのためトップページを工事中ページにリダイレクトしていました …

WPSuperCacheBlank

WP Super Cacheプラグインで真っ白な画面しか表示出来なくなった時の対処法

WP Super Cacheプラグインで真っ白 ブログが快適に閲覧できるようにとWP Super Cacheというキャッシュを生成してくれるプラグインをインストールし、有効化しました。そして設定でキャ …

未来サーバー404

WordPressを始めるのに無料の未来サーバーをおすすめしない理由

Contents WordPressを無料ではじめるときに候補にあがる5つのレンタルサーバー WordPressを無料で始めようと思うと以下の無料サーバーが候補に上がります。 ・エックスドメイン の無 …

wordpressどこがいい

WordPress無料レンタルサーバーはどこがいいか比較してみた

WordPressを始めるにあたって最初からレンタルサーバーを有料で借りるのはちょっと敷居が高い気がします。 WordPressを無料で使えるレンタルサーバーの仕様についてこれから始める人が気になるポ …

雑記1983内を検索

アーカイブ