LittleBITS: TidBITS ウェブサイトとアプリの接続問題が解決しました

LittleBITS: TidBITS ウェブサイトとアプリの接続問題が解決しました

2024年9月17日、「LittleBITS:今週TidBITSメインサーバーを移転」(2024年9月16日)でお知らせした通り、インターネットインフラをCloudwaysに移行しました。スムーズに進むことを期待していましたが、避けられない問題が発生しました。ほとんどは裏で発生していましたが、読者の皆様にはTidBITSウェブサイトとMatt NeuburgのTidBITS Newsアプリに影響する問題がいくつか発生しました。これらの問題はすでに解決しましたので、問題に気付いた方のためにご説明いたします。

TidBITS ホームページ読み込みエラーの解決

2024年9月21日(土)の朝、ウェブサイトのトラフィックをCloudwaysホスト版に誘導する切り替えから数日後、ホームページの読み込み時にWordPressエラーが表示されるようになりました。記事ページとWordPress管理インターフェースには影響はありませんでした。幸いにも、開発者が対応しており、20分以内に問題を特定して修正してくれました。

WordPressの重大なエラー

問題の原因は、Cloudwaysが最近導入したImunify360セキュリティパッケージに含まれるマルウェアスキャナー、ImunifyAVでした。Cloudways版のサイトを公開する前から、ImunifyAVはサイトでマルウェアを検出したと主張していました。しかし、登録しない限り詳細は提供されないという、怪しいマーケティング戦略で、Cloudwaysは後に謝罪しました。月額4ドルだったので、しぶしぶ登録してみましたが、原因は不可解なエラーコード「CMW-URL-23142」だと告げられました。サポート担当者は、CMWは「クライアントマルウェア」と訳され、URLはURLによって挿入された悪意のあるコードを意味すると説明しましたが、ImunifyAVのドキュメントにはそのような記述はありませんでした。

いずれにせよ、結局は誤検知だったことが判明しました。ImunifyAVはスキャンモードでのみ動作していると思っていたのですが、検出した「マルウェア」を「クリーンアップ」しようとしたのです。問題の行を削除したところ、周囲のPHPコードが破損してしまいました。開発者がImunifyAVの「元に戻す」オプションを使って復元しようとしたところ、「クリーンアップ」された別のバージョンが表示されましたが、それも改善されず、別のバックアップに戻しました。これで問題は解決し、ホームページからエラーは消えました。私はすぐにImunifyAVのサブスクリプションをキャンセルしました。

TidBITS ニュースアプリのフィードダウンロードの失敗を修正する

数週間後の2024年10月11日、Matt NeuburgのTidBITS Newsアプリが最新版に更新されず、「エラー:最新のTidBITSフィードのダウンロードに失敗しました」という報告が寄せられ始めました。TidBITS NewsアプリはカスタムRSSフィードに依存しており、サイト移転後も問題なく動作していたため、当初は何が変わったのか分からず困っていました。最終的に、Mattに連絡を取り、状況について何か説明を得られるか尋ねました。彼が旅行から戻ってきた後、私たちはトラブルシューティングに着手しました。TidBITS News フィードダウンロード失敗エラー

Mattと仕事をしていた時、彼はCloudflareの意義を疑問視しました。私は、Cloudflareはコンテンツ配信ネットワークであり、コンテンツのキャッシュコピーを提供することでウェブサイトのパフォーマンスを向上させており、トラフィックの約93%をこの方法で処理していると説明しました。この説明を聞いて、キャッシュが問題に関係しているのではないかと考え、TidBITS NewsアプリのフィードURLのキャッシュをバイパスするCloudflareルールを設定しました。これで問題は解決しましたが、次の問題が発生するまで原因はわかりませんでした。

「お待ちください」エラーページのトラブルシューティング

それから数日後の2024年10月26日、TidBITSのウェブサイトが読み込めず、代わりに「リクエストを確認中です。しばらくお待ちください…」というテキストが書かれた白い画面が表示されるという報告が散発的に寄せられるようになった。

特に奇妙だったのは、この問題が特定のブラウザやデバイスにのみ発生することが多かったことです。この問題に遭遇したほぼ全員が、別のブラウザやデバイスではサイトを表示できましたが、報告内容に一貫性はありませんでした。ある人はChromeではサイトが表示されないのにSafariでは表示されるのに、別の人はChromeでは表示されるのにSafariでは表示されない、といった状況でした。

お待ちくださいエラー

Cloudwaysにこの件を報告したところ、サポート担当者は、Cloudflareのキャッシュ設定でユーザーのブラウザがファイルをキャッシュできるように設定されていたためだと説明してくれました。そのため、ブラウザがCloudwaysまたはImunify360によって設定されたヘッダーを受信できるように、ブラウザキャッシュのTTL設定を「既存のヘッダーを尊重する」に変更する必要がありました。しかし残念ながら、この変更後もエラーは解消されませんでした。

幸運なことに、MacAdmins SlackでAlan West氏、Brad Chapman氏、そしてシアトル在住のAppleコンサルタントである友人のSteve Sorbo氏から報告を受けました。彼らの技術に詳しいテストのおかげで、問題はwww.tidbits.comのURLのみに影響しており、現在正規のtidbits.comのURLには影響していないことがわかりました。しかし、何年も前に作成したブックマークを使っている人も多いので、www.tidbits.comのURLは依然として広く利用されており、常にtidbits.comにシームレスにリダイレクトされるはずです。

さらに数時間、Cloudwaysのサポートにイライラしながらメッセージを送り続けた後、TidBITS Newsアプリの問題をトラブルシューティングしていた時に、MattがフィードURLのwww.tidbits.com版は機能するのに対し、tidbits.com版は機能しないと指摘していたことを思い出しました。その問題はCloudflareのキャッシュに関連していたので、私は思い切ってCloudflareのキャッシュをクリアしました。

驚いたことに、これで「既存のヘッダーを尊重する」設定が有効になり、www.tidbits.com の URL に関する問題が解消されました。この成功を報告すると、Cloudways のサポート担当者から、先ほど行った操作を実行するように指示があり、以前の設定によってリダイレクトループが発生していたため、Cloudflare と Imunify360 がページを表示できずにリクエストを繰り返し往復させていたと説明されました。

嬉しい副産物として、TidBITS Newsアプリのフィード用に設定したCloudflareルールをオフにすることができました。問題はtidbits.comとwww.tidbits.comの違いではなく、CloudflareとImunify360のキャッシュ競合に関係していました。

Cloudways について判断を保留

おそらくお分かりかと思いますが、私は今のところCloudwaysにあまり満足していません。サポートの対応は比較的迅速で、最終的には効果的ですが、私が書いた内容をよく読んでくれず、質問に完全に答えてくれなかったり、問題を完全に解決してくれなかったりすることがよくあります。

公平を期すために言うと、これらの問題には私にも責任の一端があります。Cloudwaysは、ImunifyAVマルウェアスキャンとImunify360ファイアウォールの追加について、すべてのお客様にお知らせしていました。Cloudwaysを導入してまだ日が浅く、またサービスプロバイダーが既存の設定に影響のない機能について管理メッセージを送信するのはよくあることなので、これらの変更がサイトに影響を与える可能性があることを私は理解していませんでした。理解していれば、少なくとも問題が発生した時にはそれほど驚かなかったかもしれません。

これらの問題には不満を感じていますが、CloudwaysがImunify360でセキュリティを強化しようとしていることを責めることはできません。インターネットサーバーは昨今常に攻撃にさらされており、公開サイトを運営する人は誰でも、サイトが過負荷状態にならないように、ユーザビリティを犠牲にしなければなりません。

例えば、過去1年間、スパムボットがサイト上で数千もの偽アカウントを作成するという問題に悩まされてきました。ユーザー認証プラグインをインストールし、英語圏以外の国の数百のIPアドレスをブロックすることで、しばらくの間はスパムボットの活動を抑えることができました。しかし、Cloudwaysに移行する直前、スパムボットは別のボットネットを使ってブロックを回避し始めました。それ以来、少なくとも1000以上の未認証アカウントを削除しましたが、ここ数週間は削除ペースが鈍化しています。

Idfte
Contributing writer at Idfte. Passionate about sharing knowledge and keeping readers informed.