Cloudflare Tunnel での https リダイレクト設定
ここ最近はサイトを立ち上げるときに Cloudflare Tunnel を使うことが多い。Let's Encrypt などを使わなくても https 接続を簡単にできるからだ。
しかし Cloudflare Tunnel は https 接続を実現できるものの、同時に http 接続も保持されているということに気付いた。
強制的に https 接続にしたいなら、通常は .htaccess を編集してでリダイレクト設定にする。しかし、Cloudflare Tunnel ではその方法は使えなかった。
Cloudflare Tunnel での https リダイレクト設定は以下のように Cloudflare のアカウントページで設定する。
(1)ブラウザで Cloudflare のダッシュドードにアクセスする。
(2)「Websites」で対象ドメインをクリック。
(3)「Rules>Pages Rules」をクリック。
(4)「Create Page Rule」をクリックし、以下のように設定する(ドメインが example.com の場合)。
URL:example.com/*
Then the settings are: Always Use HTTPS
「Save and Deploy Page Rule」をクリックすると反映される。
実際にサイトに http でアクセスすると https に強制リダイレクトされるはずだ。
さて、僕は Google Adsense を使う関係で、ルートディレクトリに置いている ads.txt は https だけでなく http でもアクセスできる状態にしておく必要がある。
この場合さらに「Create Page Rule」をクリックし、以下のように設定する。
URL:example.com/ads.txt
Then the settings are: Automatic HTTPS Rewrites(トグルはオフにする)
「Save and Deploy Page Rule」をクリック。
Page Rules が複数ある場合、上から順番に適用され、一度適用されたものはそれで設定が確定するようになっている。だから、Page Rules 一覧で左の矢印をクリックして ads.txt の設定を Always Use HTTPS よりも上に配置する。
これで通常のページは http が https に強制リダイレクトされるが、ads.txt だけは http および https の両方で接続できる状態になった。
参考:
Is it possible to exclude URLs from a redirect rule? - Website, Application, Performance / DNS & Network - Cloudflare Community
https://community.cloudflare.com/t/is-it-possible-to-exclude-urls-from-a-redirect-rule/331485/3
この記事が気に入ったらサポートをしてみませんか?