PR

CloudPanel&Cloudflareで、アクセスログにオリジンIPアドレスを記録する方法

こんにちは。
Webサーバーの管理パネルにはcPanelやPlesk、aaPanelなど様々なGUIツールが存在しています。
その中で「CloudPanel」は日本語に対応していないものの、インターフェースが使いやすく気に入っています。

Hosting Control Panel - CloudPanel
CloudPanel is a free web-based interface hosting control pan...

CloudPanelではnginxがWebサーバーとして動作していますが、CDNサービスの1つ「Cloudflare」を利用する場合にアクセスログへ記録されるIPアドレスがすべて、当該サービスの情報となってしまいます。

そちらを解消する方法を調べましたので、備忘録がてら記事にしたいと思います。

手順

CloudPanelのVhost編集画面を開く

CloudPanelにログインし、対象のWebサイトの「Manage」をクリックすると、Webサイト個別の設定画面へ移ります。
そこでメニューの「Vhost」をクリックすると編集画面が開きます。

今回はこちらの編集画面で必要な設定を記述していきます。

Cloudflare用の記述を追記する

以下記述の「※ここに追記」の部分へ、Cloudflare用の設定を追記していきます。

server {
  listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  {{ssl_certificate_key}}
  {{ssl_certificate}}
  server_name www.example.com www1.example.com;
  {{root}}

※ここに追記

  {{nginx_access_log}}
  {{nginx_error_log}}

  if ($scheme != "https") {
    rewrite ^ https://$host$uri permanent;
  }

  location ~ /.well-known {
    auth_basic off;
    allow all;
  }

  {{settings}}

追記すべき記述は以下のとおりで、IPアドレスレンジは下記ページを参考にしています。
変更があり、記事が古い情報となる場合がありますので必ず確認することをおススメします。

IP Ranges
This page is intended to be the definitive source of Cloudfl...
  #Cloudflare IP Range
  set_real_ip_from 103.21.244.0/22;
  set_real_ip_from 103.22.200.0/22;
  set_real_ip_from 103.31.4.0/22;
  set_real_ip_from 104.16.0.0/13;
  set_real_ip_from 104.24.0.0/14;
  set_real_ip_from 108.162.192.0/18;
  set_real_ip_from 131.0.72.0/22;
  set_real_ip_from 141.101.64.0/18;
  set_real_ip_from 162.158.0.0/15;
  set_real_ip_from 172.64.0.0/13;
  set_real_ip_from 173.245.48.0/20;
  set_real_ip_from 188.114.96.0/20;
  set_real_ip_from 190.93.240.0/20;
  set_real_ip_from 197.234.240.0/22;
  set_real_ip_from 198.41.128.0/17;
  set_real_ip_from 2400:cb00::/32;
  set_real_ip_from 2606:4700::/32;
  set_real_ip_from 2803:f800::/32;
  set_real_ip_from 2405:b500::/32;
  set_real_ip_from 2405:8100::/32;
  set_real_ip_from 2a06:98c0::/29;
  set_real_ip_from 2c0f:f248::/32;
  
  #Convert Cloudflare IP to Origin IP
  real_ip_header CF-Connecting-IP;

「set_real_ip_from」の記述はCloudflareのIPアドレスレンジを指しています。
「real_ip_header CF-Connecting-IP」の記述は”real_ip_header”モジュールを利用して、”CF-Connecting-IP”ヘッダの情報でアクセスログに記録されるIPアドレスを書き換えるということを指しています。

設定を保存し、アクセスログを確認する

画面をスクロールし、右端の「Save」をクリックし、設定を保存してください。
その後上部メニューの「Logs」へ移り、アクセスログ上でCloudflare以外のIPアドレスがきちんと記録されているかを確認して、問題なければ設定完了です。

お読みいただきありがとうございました。

コメント 本記事へのご質問やご感想など、お気軽にどうぞ

タイトルとURLをコピーしました