【2026年7月3日時点の情報です】
このブログは、自宅のAlmaLinuxサーバーで動かしていて、その前に Cloudflare を置いています。Cloudflareは、Webサイトの表示を速くしたり、攻撃から守ったりするサービスで、個人のブログなら無料プランで使い始められます。
この記事では、Cloudflareが何をしているのかと、無料プランでできること、使ってみて分かった注意点をまとめます。具体的な設定の手順は、それぞれの記事で紹介しています。
Cloudflareの仕組み:読者とサーバーの間に入る
Cloudflareを使うと、読者のアクセスは自分のサーバーに直接届かず、いったんCloudflareを通ります。このように間に入ってやり取りを代わりに受ける仕組みを、「リバースプロキシ」といいます。
【読者のブラウザ】 ⇄ 【Cloudflare】 ⇄ 【自宅サーバー】
・画像やCSSを保存して返す
・怪しいアクセスを止める
・HTTPSの証明書を用意する読者から見えるのはCloudflareのサーバーだけで、自宅サーバーのIPアドレスは表に出ません。C言語の組み込みでいえば、外部との通信を全部一度受け取って、正しいものだけを内側に渡す「前段の通信処理」のような役割です。
Cloudflareの管理画面のDNS設定で、雲のアイコンがオレンジ色(Proxied)になっているドメインが、この仕組みで守られています。灰色(DNS only)にすると、Cloudflareは名前解決だけを行い、アクセスはサーバーに直接届きます。
無料プランでできる主なこと
| 機能 | やっていること |
|---|---|
| キャッシュ(CDN) | 画像やCSSなどを世界各地のCloudflareのサーバーに保存し、読者に近い場所から返す |
| HTTPS(SSL) | ドメインの証明書をCloudflareが用意してくれる |
| DDoS対策 | 大量のアクセスでサーバーを落とそうとする攻撃を、サーバーに届く前に止める |
| WAF(カスタムルール) | 「海外からのログイン画面へのアクセスを止める」のようなルールを自分で作れる |
| Cloudflare Tunnel | ルーターのポートを開けずに、自宅サーバーをインターネットに公開できる |
無料プランでも、個人のブログに必要な機能はひととおりそろっています。ただし、作れるルールの数などには上限があり、プランの内容も変わることがあるので、必要なときはCloudflareの公式サイトで確かめてください。
このブログでの使い方
このブログでは、Cloudflareを次の3つの目的で使っています。
- ポートを開けずに公開する:
Cloudflare Tunnelを使い、自宅のルーターのポートを開けずにWordPressを公開しています(「Cloudflare Tunnelで自宅サーバーを公開する方法」) - 管理画面を守る:
WAFのカスタムルールで、海外からのアクセスや、ログイン画面・phpMyAdminへのアクセスを制限しています(「WAFのカスタムルールで自宅サーバーのWordPressを守る」) - 自作アプリを別のアドレスで公開する:
同じTunnelにサブドメインを追加して、自作のアプリを公開しています(「サブドメインを追加する手順」)
使ってみて分かった注意点
デザインや画像の変更がすぐに反映されないことがある
Cloudflareは初期設定では、画像やCSS、JavaScriptなどのファイルを保存(キャッシュ)します。一方、ページそのもの(HTML)は初期設定では保存しないので、記事の文章を直した場合は、たいていすぐに反映されます。
反映されにくいのは、テーマのCSSを直したときや、同じファイル名の画像を差し替えたときです。そのときは、Cloudflareの管理画面で保存されたファイルを消す「パージ(Purge)」を行います。
- すべてパージ:
保存されたファイルを全部消す。テーマを大きく変えたときなど - URLを指定してパージ:
差し替えた画像など、特定のファイルだけ消す - 開発モード:
しばらくの間キャッシュを使わないようにする。デザインを何度も直しながら確かめるときに便利
パージしても反映されないときは、ブラウザにも古いファイルが残っていることがあるので、スーパーリロード(Windowsなら Ctrl + Shift + R)も試します。
サーバーのログに、読者のIPアドレスがそのまま残らない
アクセスはすべてCloudflareを通ってくるので、サーバーから見ると、接続してきた相手はCloudflare(Tunnelの場合は同じサーバーの中の cloudflared)になります。そのままだと、Apacheのアクセスログに読者のIPアドレスが残りません。
Cloudflareは、読者のIPアドレスを CF-Connecting-IP というヘッダーに入れて渡してくれます。Apacheでは、mod_remoteip でこのヘッダーを読むように設定すると、ログに読者のIPアドレスを残せます。アクセス解析で怪しいアクセスを調べるときには、この設定が前提になります(「GoAccessで見知らぬアクセスを調べた記事」)。
間に入ることで、外部サービスとの相性が出ることがある
Cloudflareは怪しいアクセスを止めるので、たまに必要なアクセスまで止めてしまうことがあります。たとえばこのブログでは、Google AdSenseの自動広告のプレビューが「お探しのページが見つかりません(404)」になることがありました(「AdSenseの自動広告で404が出る原因と対策」)。外部サービスがうまく動かないときは、Cloudflareの「セキュリティイベント」で、止められたアクセスがないかを確かめるのが近道です。
まとめ
- Cloudflareは、読者とサーバーの間に入って、キャッシュ・HTTPS・攻撃のブロックを代わりに行うサービス
- 個人のブログなら、無料プランで必要な機能はひととおり使える。Tunnelを使えばポートを開けずに公開できる
- 初期設定で保存されるのは画像やCSSなど。デザインや画像を変えても反映されないときはパージする
- サーバーのログに読者のIPを残すには、CF-Connecting-IP を読む設定が必要
- 外部サービスが動かないときは、セキュリティイベントを確かめる



コメント