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」をパソコンに保存します。
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
以上です。
コメント