Cloudflare経由の5xxエラー原因と対策・移転で解消
Google Search Consoleを見ると、ページがインデックスに登録されなかった理由に「サーバーエラー(5xx)」の項目が増えていました。調べると良くないエラーらしく、放置していると検索順位が下がり、アクセス数が減るらしいことが分かりました。
今でも殆どないアクセスが更に減るのかと思いながら、エラーのページを無くさないといけません。Google Analyticsで確認すると5xxエラーは522と526であることが分かりました。
すぐ分かった526エラーの原因
インターネットの接続エラー「526」は、Cloudflareを利用しているウェブサイトで発生するエラーコードで、「Invalid SSL Certificate(無効なSSL証明書)」を意味します。このエラーは、Cloudflareがウェブサーバーに接続しようとした際、サーバーが有効なSSL証明書を提示できなかった場合に表示されます。
Cloudflareの5XXの解説ページを見ると下記のようにあります。
簡単な解決方法として、ドメインのCloudflareSSL/TLSアプリの「概要」タブでSSLをFull (strict)の代わりにFullに設定します。
Cloudflare 5XX エラーのトラブルシューティング - Cloudflare
「Full (strict)」はVPNなどで証明書を使うSSL設定を行う場合に用いるもので、「Let's Encrypt」を使う場合は「Full」を使うものだと知ってはいました。確認のためにCloudflareの設定を見ると「Full (strict)」になっていました。いつの間に間違えたのかと思いましたが、はじめから間違っていたのかもしれません。
話はそれますが、久しぶりにSSLの設定ページを見ると自動で選択してくれる項目が増えており、適切な設定を選んでくれます。自動で設定してみるとやはり「Full」を選びました。
この後は526エラーは出ていません。
原因不明の522エラー
インターネットの接続エラー「522」は、Cloudflareを利用しているウェブサイトで発生するエラーコードで、「Connection Timed Out(接続タイムアウト)」を意味します。このエラーは、Cloudflareがウェブサーバーに接続を試みたものの、サーバーが応答しなかった場合に表示されます。
同じCloudflareの設定で数年間は問題なかったのに急にエラーが出てしまった原因は、正直なところ分かりません。ホスティングサービスとCloudflareの設定を変えてみてもエラーは治まりませんでした。
Super Page CacheというCloudflareのキャッシュを自動で設定し、使えるようにするプラグインを使ってみても522エラーは発生するので、設定の問題ではないのかもしれません。
最終的にわかったこと
何が原因で522エラーが出るのかを知りたいので、できることをやります。
シンレンタルサーバーの関係しそうな設定箇所、海外からのアクセス制限やサーバーキャッシュ、高速化をオフにして以下の通り調べました。
- ネームサーバーをホスティングサービスに戻す。
自作のWordPressテーマが原因かもしれません。完全にCloudflareを使わない状態で動作を確認すると、全く問題なくページの閲覧ができます。 - Cloudflareを経由するが、Cloudflareの機能を一時停止する。
ネームサーバーをCloudflareのものに設定しCloudflareを一時停止にすると、ページの閲覧に問題はありません。 - Cloudflareを経由し、今まで使っていた設定内容を有効にする。
ページの読み込みに不具合が出ます。ページ全体を読み込まない場合や、特に多いのが画像の読み込み不能状態です。画像の拡張子や表示させる場所に共通点は無さそうです。 - Cloudflareを経由し、できる限り設定をオフにする。
すべての設定をオフにするとページの読み込みに問題がなくなりました。
ここから、Cloudflareのどうしても使いたい機能だけを有効にすると、ページの読み込みに支障のない状態、522エラーの発生しない状態になりました。どの機能を有効にするとエラーが発生するのかを調べようとしたのですが、多すぎてまとめきれません。そもそも何が原因なのかが皆目わからないのです。
シンレンタルサーバーがCloudflereのアクセスに対して何かの制限を掛けてるように思うのですが、確かめるすべがありません。
Cloudflareはボットファイトモードがいつの間にかGoogle AdSenseのボットをブロックし、ボットがサイトに来なくなっていたりと素人には手に負えなくなってきたように思います。今後、使い続けるのかも含めて考えるときが来たようです。
その後
思い切ってサーバーを移転しました。
移転した結果、エラーはなくなりました。
最後までお読みいただき、誠にありがとうございます。










