Cloudflare をつかおう。

Cloudflare の簡単な使い方を紹介しています。

Cloudflare https://www.cloudflare.com/ja-jp/

Cloudflare は有償サービスもいくつか存在しますが、
「Cloudflare をつかおう。」では個人・中小企業など小規模の無料使用する前提で説明しています。


Cloudflare を使用するメリット・デメリット

Cloudflare を使用する事で、次のメリットが得られます。

  • SSL 対応にできます。 SSL に対応していない Web サイトも Cloudflare を経由して SSL 対応にできます。
  • 世界 160 ヶ所以上の CDN を使用できます。アクセスが多くなってもサーバダウンの心配が少なくなります。
  • ネームサーバのレコード設定が可能です。ネームサーバサービス代わりに Cloudflare を使用する事もできます。
  • Analytics を表示します。参照数や転送量などをグラフなどで表示できます。
  • セキュリティ対策機能があります。メールアドレスの難読化などが無料プランで有効です。
  • 現在使用している環境はそのまま維持できます。FTP やメールの送受はそのまま引き続き使用できます。
  • 無料プランがあります。個人用途であれば、通常は完全無償で使用できるでしょう。
  • 登録サイトの転送量・サイト数の制限がありません。1 アカウントでいくつでも登録できます。

一方、次のデメリットがあります。

  • ドメイン単位での管理となり、サブドメインを Cloudflare に設定できません。(例外あり)
  • キャッシュ動作をします。Web サイトを更新した時はキャッシュクリア動作が必要な場合があります。
  • 動的生成の Web サイトは Cloudflare の使用が適さない場合があります。

注意

Cloudflare を使用する場合、ネームサーバを設定・変更します。
設定を誤ると、設定したドメインの Web サイトやメールは使用できなくなります。

Cloudflare を使用しない事にしてネームサーバを戻す場合でも
同様に作業が必要となります。

ネームサーバはキャッシュ機能を持ちます。
そのため、設定しても、しばらく旧サーバを参照しつづける場合があります。
通常 48 時間以内に参照が切り替わります。

特に運営済みの Web サイト・メールを移行したい場合は万全に準備を整え、作業を実施して下さい。
場合によって Web・メールなどのサービスも変更する必要があるかもしれません。
サービスを変更しなくても良い場合でも、
FTP・SMTP・POP・IMAP などのサーバ名にドメイン名が使われている場合は
IP アドレスや別のサーバ名に変更する必要があります。
例として、追加するサイトが cfjpn.cf の場合、
サーバ名を ftp.cfjpn.cf や mail.cfjpn.cf などで使用していた場合は変更が必要です。


サイトの追加

アカウント登録後、サイトを追加になります。
すでに登録している場合は右上 Add site で更に追加できます。
このサイトはドメイン名で www. などを付けないで下さい。例えば cfjpn.cf となります。
サブドメインは追加できません。(例外があります。Q&A 参照)

数秒待った後、プランの表示になります。
Business $200/month がデフォルトで選択されているので、
Free $0/month に変更して下さい。

さらに数秒~1 分ほど待ちます。
この間に Cloudflare が現在設定されているネームサーバからレコードを参照します。
その後ネームサーバのレコードを一覧表示します。

ここで現在管理しているネームサーバ(ドメイン管理のサイトなど)を参照し、
設定が一致している事を確認して下さい。足りないレコードは手入力で追加します。
レコードは NS も含め、幅広く対応しています。新しいレコード形式もあります。

次の点に注意して下さい。

  • サブドメインなし(ルート)は @ を指定します。何も入れない場合はその旨表示されます。
  • ルートに対して CNAME を指定できます。(他では通常 ALIAS 記載)
  • 現在 SPF は対応していない場合が多く、TXT でも含めた方が良いです。
  • TXT は ”” 囲み不要です。枠は広く表示されます。

Advanced には BIND(named) 形式の DNS ゾーンファイルのアップロード
およびエクスポートが可能です。

またこの際に Status 列でオレンジ・グレーの が表示されています。
オレンジは Cloudflare を経由、グレーは経由せずダイレクトに処理します。
通常 Web サイト部分をオレンジに設定します。

設定が完了すると、ドメインのネームサーバを変更するように表示されます。
ドメインによって設定するネームサーバが変化します。

変更するとはやければ数分で Cloudflare が検出します。
その時登録しているメールへ通知が届きます。

上記に記載しているネームサーバのゾーン設定は
DNS からいつでも変更が可能です。


常時 SSL 化

現在は Google 検索 など常時 SSL の対応が必須条件になっています。
Cloudflare を経由させた場合、常時 SSL 対応は容易です。

Cloudflare 経由にした状態でデフォルトでは
http: ・ https: 共に参照できるようになります。
常時 SSL にする場合は SSLAlways Use HTTPSON にします。
これで http: で参照した場合は https: へ転送されます。


Web の転送

Page Rules を用いて HTTP ステータス 301・302 を用いた Web の転送が可能です。
Cloudflare の Page Rules を使用するメリットとして SSL(https:)で転送できる点があります。
無料プランは 3 つまで無料で設定できます。www なし・ありはそれぞれ 2 つ設定となります。
対象は DNS で Cloudflare 動作を有効にします。(オレンジアイコンのレコード)

例えば http(s)://balloon.asia/ 内を https://balloon.im/ 内へ転送する場合は

  • If the URL matches:
    balloon.asia/* (転送元。www. 付であれば www.balloon.asia/*
  • Then the settings are:
    Forwarding URL
    301 - Permanent Redirect(一時的な転送の場合は 302 を選択)
    https://balloon.im/$1(転送先 URL フル表記)

とします。いくつか注意点があります。

  • URL matchs は http(s):// を省略すると http・https 両方に一致します。
  • サイト内すべてを対象にする場合は末尾を /* とします。
  • $1$2・… は * を置き換えます。
    従って上の表記で $1 を外し https://balloon.im/ とした場合、
    balloon.asia の右にファイル・フォルダ(ディレクトリ)名がある場合でも
    転送先は https://balloon.im/ のトップページ固定になります。

Web サイトを更新した場合

Cloudflare を経由した場合、Web サイトの内容は Cloudflare にキャッシュされます。
そのため、Web サイトを更新しても変化しない場合があります。
特に通常変化する事が少ない 画像・CSS を変更した場合に生じます。

この場合、Cloudflare へログインし、該当ドメインを選択した時の Overview
右サイドバーにある Quick Actions にある Purge Cache または
Caching を選択し、Custom Purge で削除するキャッシュを指定します。
アクセスが多くなければ Purge Everything にして全て削除しても良いです。

調整するために細かく変化が発生する場合は
*Overview 内の右サイドバーにある Quick Actions、
または Caching 内にある Development ModeOn にすると
キャッシュを一時的に無効化し、リアルタイムで変化する状態になります。
アクセスが多いサイトでは Development Mode を有効にしないで下さい。


Q&A

世界のサーバに日本は含まれますか?

日本では東京と大阪に存在します。大阪が 2015 年運用開始です。

Cloudflareのグローバルなエニーキャストネットワーク Cloudflare System Status

無料でいくつのサイトが設定できますか?

制限はありません。多くのサイトを 1 アカウントで管理できます。
個人用途であれば、完全無料で多くのサイトを設定・使用できます。

プランはドメイン単位での設定になっていて、
必要に応じてプランを変更できるようになっています。

サイトの追加ができません。

追加の際にネームサーバを確認しています。
そのため追加する段階で他のネームサーバを指定している必要があります。
ドメイン登録サービスが提供しているネームサーバで大丈夫です。
.jp ドメインを含む一部のドメインでは、
ネームサーバを全く設定しない状態で登録できる場合がありますが、
この場合 Cloudflare では登録できません。
一度仮で良いので、どこかのネームサーバを設定・参照できるようにして下さい。

EU.org は追加できますか?

~.eu.org や ~.jp.eu.org を追加できる事を確認できています。
Public Suffix List 登録のドメイン・サブドメインが対象のようで、
EU.org のサブドメインは Public Suffix List へ登録済みです。

Public Suffix List

EU.org の情報サイトを公開しています。このサイトも Cloudflare を使用しています。

EU.org をつかう。

メールサーバは提供されていますか?

Cloudflare はメールサーバを提供していません。他サービスを使用する必要があります。

  • Mailgun - 無料で SMTP・メール転送(例えば Gmail の送受できます)
  • Zoho Mail - 無料は Web メールで使用(現在 SMTP・POP・転送は有償)

送信(SMTP)と受信(POP・IMAP または転送)を分ける場合、他にもいくつか選択肢があります。

HTTP/2 は対応していますが?

Cloudflare 経由は HTTP/2 での通信が有効となります。
これも表示の高速化に影響しています。

逆にいうと、HTTP/1.0 などの古いプロトコルで通信している場合、
Cloudflare 経由では問題が発生する場合があります。

SSL サーバ証明書は何を使っていますか?

通常は Cloudflare 自身が証明書を発行します。
現在主要な Web ブラウザは Cloudflare の証明書でも正常表示します。
ただし、移行前の環境で Let’s Encrypt を使用していた場合、
Cloudflare はその期限を引き継ぎ、Let’s Encrypt を使用する場合があります。

Cloudflare の Help では Full (strict) を推奨していますが、
この場合無料プランでは通常 24 時間以内で証明書を発行する仕組みで、
その間 SSL の参照に問題が発生します。
すでにまともな運用している Web サイトでは変更しないで下さい。

なお、任意の SSL サーバ証明書を適用する事も可能です。(有償)

サブドメインを他のサービスで使用したいのですが……

ネームサーバは A・CNAME・MX レコードなどを指定できます。
代わりに NS レコードを使用し、
独自ドメインのようにネームサーバ管理を渡す事も可能です。

ネームサーバを Cloudflare に移したくありません。A・CNAME で指定できますか?

Cloudflare はドメインのネームサーバレベルで変更が必要です。
Cloudflare のネームサーバへ変更により、動作する仕組みになっています。

似たようなサービスを提供している Cloudbric は A・CNAME レコード指定に対応しています。
SSL 化は Let’s Encrypt を用いていて、選択肢により TXT レコードの追加も必要です。
日本にもサーバがあります。転送量 4GB までは無料です。

Cloudbric

この cfjpn.cf も Cloudflare を使用しているのですか?

はい。Surge(surge.sh)を使用し、Cloudflare 経由で公開しています。
Surge については別途サイトを公開しています。こちらも Surge+Cloudflare です。

Surge をつかう。