关于从特定域名Onebox图片的问题

这里有什么可能的原因吗?:thinking:

我有两张图片。它们是相同的。唯一的区别是域名。

一张图片在我的 Discourse (版本 3.3.0.beta2-dev (7a083daf27)) 上无法 onebox,另一张图片则可以正常 onebox,没有任何问题。

图片一:https://dronescene.co.uk/images/uploads/temporiginal/test11.png

图片二:https://dev.dronescene.co.uk/images/uploads/temporiginal/test11.png

在我挠头苦思冥想,试图找出问题所在时,我注意到 onebox url 在 url 末尾附加了一些额外的参数:

不过我认为这可能是误导 :thinking:

如果我在浏览器标签页中直接查看这两张图片,并在浏览器控制台的网络标签页中查看 HTTP 响应头,我看不出两者之间有任何区别。

我的 Discourse 日志中没有任何错误。

我是否在我的 Discourse 上应用了某些我早已忘记的特定域名设置?:thinking:

还有什么可能导致 Onebox 在图片实际存在时抛出 HTTP/404 错误?:thinking:

我应该从哪里开始调试为什么一个 url 可以工作而另一个不行?:thinking:

如果相关的话,两个域名都通过 Cloudflare 代理 - 但在那里的设置也完全相同。

Cloudflare 的主要用途之一不就是阻止机器人从你的网站请求文件吗?看起来它正在按预期工作 :laughing:

你应该检查一下你的 Cloudflare 配置,那里应该有禁用机器人保护的方法。

2 个赞

是吗? :thinking:

有什么区别? :thinking:

Discourse 服务器的 IP 地址已在 Cloudflare 中列入白名单,我可以在运行 Discourse 的服务器的命令行中 curl/wget 这两个图像。

我很难理解为什么 onebox 在一个图像上有效,而在另一个图像上无效。

既然你控制着两个服务器,你能检查一下确切的请求是什么吗?精确到动词、用户代理和其他标头,并尝试用一个模仿它的 cURL 来重现它?

2 个赞

啊,绝妙的主意 :+1: