6月 172011
 
シェアする

 

CloudFlareを利用すると、Webサーバに届く通信は全てCloudFlareのサーバからの接続となりますので、接続元が正しく表示されなくなります。そのため、Urchinなどアクセスログを基準としてWebアクセス解析を行なっている場合は、解析データに問題が発生します。

CloudFlareについてはこちらをご覧下さい。

CloudFlareを入れてみたの巻

この事象の対策方法は、CloudFlareから正式にHelp情報として公開されていました。
CloudFlareとApacheを連携させる為にCloudFlareが用意しているApacheのモジュールを追加しロードしてあげることで、Webアクセスログに元々の接続元IPアドレスが表示されるようになります。

以下方法となります。
参考としたページはこちらになります ⇒http://www.cloudflare.com/wiki/Log_Files

この方法はWebサーバに対して管理者権限(root)でアクセスできる必要がありますので、レンタルサーバなどWebサーバの設定をカスタマイズできないサーバをご利用の場合は変更が出来ません

1.CloudFlareのヘルプページにアクセスし、以下画像のように「mod_cloudflare.c」をパソコンに保存します。

CloudFlare Apache module

2. ダウンロードしたファイルをサーバ上の好きなところ(私は/tmpを選択)にアップロードします。

3. SSHでサーバにrootログインし、必要となるコマンドが使えるか確認します。

# which apxs
/usr/sbin/apxs
#

上記のようにコマンドまでのパスが表示されず以下のようにエラーとなる場合は、コマンドがインストールされていませんので別途インストール作業が必要です。

# which apxs2
/usr/bin/which: no apxs in (/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/bin:/usr/bin)
#

4. 「apxs」をインストールします。

上記「3」にて確認し、既に存在している場合はこの作業を飛ばして「5」にお進みください。

UbuntuまたはDebianの場合
# apt-get install apache2-prefork-dev

CentOS,Fedora,RHELの場合
# yum install httpd-devel

5. 以下コマンドを実行し、「module_cloudflare.c」をインストールします。

# apxs -iac /アップロード先/mod_cloudflare.c

6. Aapcheの再起動を行ない、アクセスログに変化があるか確認してください。

# apachectl restart

以上です。

このエントリーをはてなブックマークに追加

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ