Cloudflare Tunnel経由でWordPressを公開する時に詰まった点

Cloudflare

みなさんこんにちは!!
実はこのブログ、Cloudflare Tunnelを使って公開されているんですよ!!
ですが、公開するのに色々詰まった点があったんですよね~
※この記事に書いてあることは私の環境で起きたことです、またこの記事に書いてあることをしても解決しなかったり、悪化する場合もあるかもしれませんが、その点ご了承ください。

無限リダイレクト

まず最初につまずいた無限リダイレクトです。
管理画面にアクセスすると何故か無限リダイレクトが発生してアクセスできないという問題が発生しました。
以下のコードをwp-config.phpに追加したら正常に動作しました。

if (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

引用元 – Qiita
【WordPress】リダイレクトが繰り返し行われました。(ERR_TOO_MANY_REDIRECTS)の対処方法

ログイン後の権限エラー

WordPressにログインしたら、何故か権限ないというエラーが発生しました。
これの原因は完全にCloudflare Tunnelが原因でした。

Cloudflare Tunnel経由でWebサイト公開する時このような感じで書いてませんか?
まさにこの書き方が原因でした。

HTTPSのポート443に設定することで解決できました!
僕の場合KUSANAGIで構築しているので、Nginxの設定等を変更せずに行けましたが、他の方法で構築した場合、追加でSSLの設定が必要かもです。

また、オリジンにちゃんとした証明書がない場合は「TLS 検証なし」をオンにしないと正常に動作しません。

httpからhttpsにリダイレクトされない

これの文字を見て「ん?」となった方いるかも知れませんが、僕は面倒くさいがりなので、Nginx側でリダイレクト設定をしてないのです、いつもはCloudflare側でhttpからhttpsのリダイレクト設定を行っているのです。

ですが

何故かhttpのリンクもhttpsもアクセスできる!?
別に機密情報を送信するわけではないので、httpでもいい気もしましたが、今の時代https必須なので対策しました。

対象ドメインを選択し、ルール → 概要 に進みます。

+ルールを作成 → リダイレクトルールを選択します。

こんな感じに設定します。
テンプレートと言ってCloudflareが用意してる設定なので、もしかしたらルールを追加するとこに表示されるいるかもしません。

まとめ

Cloudflare Tunnelはポート開放不要でWebサイトを公開でき、凄く便利でセキュリティ向上に貢献できる素晴らしいソリューションだと思いますが、やっぱり少しクセがあったり、あんまりネットに情報がなかったりとまだまだ発展途上な感じもします。
これからもガンガンCloudflareのソリューション使って行こうと思ってるのでその時どんどんブログにしていこうかな~と思います!!

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