さて、一週間の悔い改めの末、少し前進しましたが、結局は行き詰まりました。
-
前述の詳細な事柄はすべて現在も有効です。
-
徹底的なデバッグを行った結果、問題の原因は以下の通りであることが判明しました。新しいドロプレットを作成する際、元のドロプレットでは当時できなかったいくつかの更新を行いました。その一つが IPv6 の設定です。どうやら、Google は何らかの宇宙的な理由で Digital Ocean の IPv6 アドレス範囲のほとんどをブロックしているようです。今後の参考までにアドバイスします:DO(Digital Ocean)で Discourse をインストールする際は、IPv6 を設定しないでください。後から IPv6 を削除することはできず、結局はドロプレット自体を変更しなければならないからです。
-
その修正後、すべてが期待通りに動作しました。しかし、通常の成長と Alphabet による最近の施策の影響で、再びゼロからやり直しです。なぜなら、今では このエラーが発生するようになり、Discourse が onebox(リンクプレビュー)の処理を「停止」する方法がわからないからです(YouTube ドメインをブラックリストに追加しようとしましたが、効果はありませんでした)。リンクした投稿によると、「1 時間後に解消されるはず」ですが、リベイク(再レンダリング)を一時停止することはできません。あるいは、できるのでしょうか?すべきでしょうか?他の選択肢はサーバー側の設定変更に依存しますが、それは… より多くの IP アドレスを追加することでしょうか?Onebox の呼び出しで「X-Forwarded-For」を強制することでしょうか?
-
さらに、ボーナス質問:なぜ Discourse が YouTube への呼び出しの「負荷」を背負うのでしょうか?つまり、このエラーは、すべての呼び出しを行っているサーバーの IP がフラグ付けされていることを示唆しています(はい、onebox の URL 展開が原因です)。しかし、なぜそれがページを読み込むユーザーの責任にならないのでしょうか?パフォーマンス上の理由でしょうか?