“blocked onebox domains”设置未生效

blocked onebox domains 在 2.9.0beta2 (c6265eec6b) 中被忽略。

我们有:

这些域位于 OAuth 墙后面,并且 onebox 正在尝试预览域并获取 OAuth 登录 URL。

4 个赞

该设置仅在服务器上生效 — 您的浏览器仍会尝试为预览执行 onebox。

我明白这可能会出乎意料。

如果您提交帖子,它会在服务器渲染后显示 onebox,还是会显示您期望的裸 URL?

3 个赞

评论发布后,它显示为一个 onebox:

4 个赞

是的,这似乎无法正常工作…… :confused:

1 个赞

您能否尝试在“阻止的 onebox 域名”设置中添加“auth.pi-hole.net”?

我们已将此设置配置为遵循重定向,但仅在指定域名是最终目的地时才阻止它。

4 个赞

我刚试过,它仍然可以进行 onebox。我认为这是因为 auth.pi-hole.net 端点是从 github.com 上的 OAuth 端点进行的 URI 重定向。我们不希望阻止 github.com 进行 onebox。

我来检查一下阻止 github 是否有任何影响……不,阻止 github.com 也不能阻止 onebox。是否有 onebox 可能正在使用的缓存需要清除,以便为 tricorder 进行新的查找?

3 个赞

是的,我明白为什么。

对于已获取的 onebox URL,缓存一天,因此一天后手动重新烘焙帖子 (post.rebake!) 将阻止 oneboxing(如果 github.com 被阻止)。


我们有一些积压的工作,以便更智能地处理身份验证重定向,但这仅限于 Discourse 论坛的身份验证。我想也许将设置扩展为也允许子目录可以帮助我们处理 github 的这种情况: \u003chttps://github.com/login/oauth/authorize\u003e … 将在内部讨论此事。

也许最好让提示文本具体说明实际被阻止的内容,可能还会加上:“Onebox 将遵循重定向,只有当最终目的地与此设置匹配时才会阻止”。

4 个赞

一个疯狂的想法……我们应该支持:

cache-control: no-store

no-store 响应指令表示任何类型的缓存(私有或共享)都不应存储此响应。

GitHub 明确表示……请……不要存储我……

也许 onebox 应该遵守它……并且不存储它。

我们可以始终将其设置为实验性设置作为开始,看看它有什么影响。

预览将不得不解释为什么我们不进行 oneboxing。


注意……我们在很多地方都使用了 no-store,但我认为那些情况我们进行了重定向,但这里存在一些细微的复杂性。

6 个赞

我们从各个存储库链接了许多 PR 和 Issue,并将它们与预览一起“一键打包”显示,这有助于新用户了解主题内容,而无需进入 GitHub。

1 个赞

是的,完全理解,我们正在努力解决这个问题,我认为一天后查看“无商店”标头是最好的前进方向。

3 个赞

抱歉打扰,但这确实影响了我们的支持网站。人们会发布指向 tricorder URL 的链接,其中包含供授权员工查看的故障排除日志。我们每天都会收到不少此类帖子,目前我们必须手动进入并将 URL 更改为非链接。

您对解决时间有任何想法吗,还是“很快™” :slight_smile:

3 个赞

我们会解决这个问题,我估计在未来四周左右的时间里。

4 个赞

在 Discourse Docker 中如何操作? :pleading_face:

我建议等待我们的修复上线,我们有一个正在进行的 PR:

它修改了行为,以便:

  1. 我们在重定向链中的每个跳转上都进行阻止列表检查
  2. 我们引入了一项新功能,任何站点都可以通过设置自定义标头来选择退出 oneboxing

这将解决 @dschaper 的问题,并为我们提供更大的灵活性。

不幸的是,选择 no store 会捕获太多不相关的项,导致太多误报。

6 个赞

PR 已合并,并且在 tests-passed 分支上。你能升级 @dschaper 并查看这是否能解决问题吗?带有 tricorder.pi-hole.net 域名的 URL 不应再在一个框中显示在你的网站上。

7 个赞

一切都很好!

感谢大家的修复。

4 个赞