「blocked onebox domains」設定が尊重されない

blocked onebox domains は 2.9.0beta2 (c6265eec6b) で無視されます。

以下のようになっています。

これらのドメインは OAuth ウォールの背後にあり、onebox はドメインのプレビューを試みて OAuth ログイン URL を取得しています。

「いいね!」 4

その設定はサーバーでのみ有効です。ブラウザは引き続きプレビュー用のワンボックスを試みます。

これが予期しないものであることは理解できます。

投稿を送信すると、サーバーがレンダリングした後にワンボックスが表示されますか、それとも予想どおり生のURLが表示されますか?

「いいね!」 3

コメントが投稿されると、ワンボックスとして表示されます。

「いいね!」 4

はい、これは正しく機能していないようです… :confused:

「いいね!」 1

auth.pi-hole.net」をブロック済みoneboxドメイン設定に追加してみてください。

この設定はリダイレクトを追跡するようにしましたが、最終的な宛先である場合にのみ指定されたドメインをブロックします。

「いいね!」 4

試したところ、まだワンボックス表示されます。これは、auth.pi-hole.net エンドポイントが github.com の OAuth エンドポイントからの URI リダイレクトであるためだと思います。また、github.com のワンボックス表示をブロックしたくはありません。

github.com をブロックしても何か影響があるか確認してみます… いいえ、github.com をブロックしてもワンボックス表示は防げません。tricorder の新しい検索が行われるように、ワンボックスが表示するキャッシュをクリアする必要があるのでしょうか?

「いいね!」 3

はい、その理由がわかります。

取得されたonebox URLには1日間のキャッシュがあるため、1日後に投稿を手動で再ベイクする(post.rebake!)と、github.comがブロックされた状態でのoneboxingを防ぐことができます。


認証リダイレクトをより賢く処理するための作業がバックログにありますが、それはDiscourseフォーラムの認証に限定されています。githubの場合に、設定をサブディレクトリにも対応できるように拡張することで、このケースに役立つと考えています:https://github.com/login/oauth/authorize…内部で議論します。

おそらく、実際にブロックされているものを具体的に示すヒントテキストも良いでしょう。おそらく、「Oneboxはリダイレクトをたどり、最終的な宛先がこの設定と一致した場合にのみブロックします」という追加情報も役立つでしょう。

「いいね!」 4

ワイルドなアイデアですが、サポートすべきでしょうか?

cache-control: no-store

no-store レスポンスディレクティブは、あらゆる種類(プライベートまたは共有)のキャッシュがこのレスポンスを保存してはならないことを示します。

GitHub は具体的に「保存しないでください」と言っています…

おそらく、onebox はそれを尊重し、保存しないべきです。

これは常に実験的な設定として開始し、影響を確認することができます。

プレビューでは、なぜ onebox を行わないのかを説明する必要があります。


注意… no-store はかなりの場所で使用していますが、それらの場合はリダイレクトしていると思いますが、このわずかな複雑さがあります。

「いいね!」 6

GitHub の様々なリポジトリから多くの PR や Issue にリンクしており、それらがワンボックスでプレビュー表示されることで、新しいユーザーは GitHub にアクセスせずにトピックの内容を把握できます。

「いいね!」 1

はい、完全に理解しています。解決策に取り組んでおり、1日後には、ストアがないヘッダーが最善の方法になると思います。

「いいね!」 3

申し訳ありませんが、これはサポートサイトに大きな影響を与えています。人々は、資格を持つスタッフが確認するためのトラブルシューティングログであるTricorderのURLへのリンクを投稿します。私たちは毎日これらの投稿を数件受け取っており、現時点ではURLをリンク解除するために手動で編集する必要があります。

解決までの期間の見込みはありますか、それとも「近日中™」ですか? :slight_smile:

「いいね!」 3

この問題は解決します。今後4週間以内には解決するでしょう。

「いいね!」 4

Discourse Docker で行う方法は? :pleading_face:

修正が適用されるまで待つことをお勧めします。現在、PRが進行中です。

これにより、次のように動作が変更されます。

  1. リダイレクトチェーンのすべてのホップでブロックリストチェックを実行します。
  2. 顧客ヘッダーを設定することで、oneboxingをオプトアウトできる新機能が導入されます。

これにより、@dschaper の問題が解決され、将来的に柔軟性が高まります。

残念ながら、「no store」を選択すると、対象が広すぎて誤検知が多すぎます。

「いいね!」 6

PRはマージされ、tests-passed ブランチにあります。@dschaper さんにアップグレードしてもらって、問題が解決するか確認してもらえますか? tricorder.pi-hole.net ドメインの URL は、あなたのサイトでワンボックス表示されなくなっているはずです。

「いいね!」 7

すべて順調です!

皆さん、修正ありがとうございました。

「いいね!」 4