Last Updated: 2/6/2024, 5:44:57 AM

# Cloudflare で HTTPS 化

本記事は以下の記事を参考にさせていただきました。

# 1. 作業

サイトを Cloudflare に登録している前提で話を進めます。 Cloudflare に登録していれば、あとは簡単に設定できます。

# Step 1. SSL

 Crypto >SSL という設定項目に Flexible という設定をいれます。 

# Step 2. Automatic HTTPS Rewrites

 Crypto >Automatic HTTPS Rewrites という設定を On にします。 

# 2. 補足

# 2.1. Step 1 への補足

Crypto > SSL という設定項目に Flexible という設定を すると以下のような構成になります。 設定の反映に 24 時間必要だそうです。

ユーザ <-- HTTPS --> Cloudflare <-- HTTP --> ウェブサーバ

上記のような構成を英語の Wikipedia では TLS termination proxy, 日本語の Wikipedia では SSL オフロードと表現されています。

ちなみに off の場合は、以下のようになります。

ユーザ <-- HTTP --> Cloudflare <-- HTTP --> ウェブサーバ

Strict を設定した場合は、以下のようになります。 自身のウェブサーバも HTTPS 通信するように設定する必要があります。

ユーザ <-- HTTPS --> Cloudflare <-- HTTPS --> ウェブサーバ

Cloudflare の雰囲気がわかって面白かったです笑

タダ!なんと甘美な響き! どうしてタダなんだ? エッ…これいいの?
無料でSSL使える時代きてた!CloudFlare最高!!!(?) (opens new window)

# 2.2. Step 2 への補足

Automatic HTTPS Rewrites という設定を On にすると、 これをしておくと HTTP で接続されたものを 301 リダイレクトで HTTPS に回してくれます。

別にいれないといけない設定ではないのですが、 やっておいた方が安パイかなという気がします。

To redirect traffic for all subdomains and hosts in your domain, enable the Always Use HTTPS feature in the Cloudflare Crypto app.
How do I redirect all visitors to HTTPS/SSL? - Cloudflare Support (opens new window)

# 3. セキュリティ的には大丈夫なの?

Cloudflare とウェブサーバの間って HTTP になっちゃうけど大丈夫なのかな? って思ったけど、まあ大丈夫という保証はないけど、 そこまで気にする必要はないよねってことらしいです。

SSL CDN, non-SSL origin; How secure is this? (opens new window)

Question:
How secure is a setup that consists of an SSL-protected CDN and a http-only origin? In other words, the client connects to the CDN using SSL, but the CDN talks to the origin via http.

Answer:
Generally, man in the middle attacks occur in locations with public wifi. But what about CDN data centers? Is there enough vulnerability for me to look for different options?

Cloudflare, Heroku, Security でググったら Cloudflare のページがでてきた。 設定は Flex で、って書いてあるけど、安全とは書かれていない。

でも、本当にそうなのかは、わかりません。 全画面でブラウザに危険!と表示されることはなくなるので、やらないよりはマシかなと思います。

それに Cloudflare ページにも Flex って設定書き込まれてるし、 まあ良いのかなって気もしなくはなくはないような...

こんなこと言い出したら、じゃあ Heroku の中で管理しているファイルは安全なのか? みたいな話にもなるしな... この辺のどの程度、手の入れるべきなのかなどの、考え方が、正直わかりません。

# 4. SEO 的には大丈夫なの?

HTTPS を導入する主な理由は、セキュリティです。 セキュリティがイマイチとなると、これを使う意味はあるのでしょうか?

SEO があるかなと思います。 HTTPS 対応していないと、どのくらい影響があるかわからないのですが、 Google からは低評価を喰らうらしいです。

Google にバレるかどうか、という観点で行くとやろうと思えばバレるけど、 そこまでしてるのかと聞かれると疑問な気もします。

もしバレてたらブラウザに危険!と表示される可能性がありますが、 いまのところ自分のサイトではそういったことはありません。

# 5. おわりに

ここまで以下のように見てきました。

以上になります。ありがとうございました。