WordPress、CloudFlareを使ったらログインできなくなった

WordPressのページを高速に表示するためにCloudFlareのCDNを使いますよね。

ただ、便利ですがIPアドレスの設定を色々としている人にはトラブルが起きますので、メモしておきます。

ログインできなくなった?

 CloudFlareを使うと403エラーでログインできなくなることがあります。

※ 403はアクセス権限がないというエラー、アクセスが許可されていないということ

 特に以下の人は、今回と同じ理由でログイン出来なくなっています。

1.さくらのレンタルサーバを利用している

2.レンサバ、VPS関係なくログインファイルに.httaccessにIPアドレス制限をしている。
(ログインファイルではなくWordPressに制限を掛けている場合はそもそも通常のページも開けないかもしれません。)

なんで見れないの?【原因】

 原因はCloudFlareがCDNなのでアクセスするときにIPアドレスが書き変わってしまうからです。

 tailコマンドでアクセスログを見てみましょう。

# tail -f /var/log/httpd/access_log

 108.162.***.***みないなIPアドレスでアクセスしてませんか?これはCloudFlareのIPアドレスです。

 CloudFlareを使うとアクセスは

  自分のPC -> DNS -> CloudFlare(IP書き換え) -> さくら等のWordPressサーバ

 となります。

 つまり、CloudFlareを使うことで自分のPCのIPアドレスではなく、CloudFlareのIPアドレスでアクセスしていることになってしまうのです。

どうすればいいの?【対処法】

『1.さくらのレンタルサーバを利用している』の場合

 さくらのレンタルサーバの場合、以下のサイトで紹介されていますように、ログインページにアクセスする際に海外IPアドレス(CloudFlare)に制限が掛けられていますので、海外IPアドレスからアクセスできるようにしましょう。

WordPress[さくらサーバーでCloudFlare] 管理画面にログイン出来ない問題 | dmgadget(ディーエムガジェット)

 サーバコントロールパネル > 国外IPアドレスフィルタ > 『無効』

『2.レンサバ、VPS関係なくログインファイルに.httaccessにIPアドレス制限をしている。』の場合

 私のように、ログインファイルにIPアドレスに制限を掛けているときは、自分のPCのIPアドレスを検出できるようにしましょう。

 IPアドレスを分かるようにするには、CloudFlareのプラグインとCloudFlareのAPIKeyが必要です。

※ WordPressにログインして作業しないといけないので、一時的に.htaccessの制限を解除する。もしくは、サーバのDNSをCloudFlareサーバから以前のDNSドメインに戻してWordPressにログインしてください。ログイン状態を保持したら、設定を戻してください。

 では、WordPressの管理画面に入ったら『プラグイン > 新規追加』で『CloudFlare』を検索して、インストール&有効化してください。

 有効化したら、左メニューのプラグインに『CloudFlare』が表示されていますので、設定画面を開いてください。

スクリーンショット 2014-05-14 17.46.41

 そうしたら設定画面はそのままにして、別のウィンドウでCloudFlareのアカウントページを開きましょう。

1

 アカウントページの末尾にAPIKeyが表示されているので、そのKeyをコピペしてWordPressの設定画面に貼付けて、メールアドレスを入力して、更新ボタンを押してください。

3

 これで自分のPCのIPアドレスが検出されるので、.htaccessのIPアドレス制限が有効になります。

 もし変わらなかったら、キャッシュが残ってるからかもしれません。ブラウザのキャッシュをクリアしましょう。

 この問題はコメントのIPアドレスでも問題になるようなので、やっておくに越したことはないと思います。

WordPressでCloudFlare(クラウドフレア)を使うと、コメントなどのIPアドレスが全てCloudFlareのIPアドレスになってしまう場合の対応 | ちゃんと覚えておけよ?

 以上です。

※追記

 もしアクセス状況が変わらない時はキャッシュクリアだけではだめかもしれません。CloudFlareで下記サイトのようにページルールを作る必要がありそうです。

 CloudFlare + WordPress admin, Cache issue

※追記の追記

 上の方法ではなく、良い方法がありました。CloudFlareが提供しているIPアドレスを読み替えるプログラムを組み込むことで、CloudFlareのIPアドレスからアクセスしてきたIPアドレスに変換してくれます。

CloudFlare Webアクセスログの直すの巻

 サイト上に紹介されているリンクは切れてしまっているので、下記のGithubからmod_cloudflare.cをダウンロードしてください。

cloudflare/mod_cloudflare

# yum install httpd-devel
# apxs -iac ./mod_cloudflare.c
# service httpd restart

Sponsored link

便利な商品紹介

オムロン クッションマッサージャ(マッサージクッション) HM-341-BG ベージュ

意外と気持ち良い

富士通 FUJITSU ScanSnap iX500 (A4/両面/Wi-Fi対応) FI-IX500A

自炊するならやっぱり持っておきたい。せっかくスキャンするならOCR付きにしておくに越したことはない。

Zenback

コメント

ブックマーク

ブログランキング

ページ上部へ戻る