由于 Vimeo 服务器 IP 被列入黑名单,Vimeo 嵌入在我的网站上无法正常工作

那么在这里,如果我粘贴一个 Vimeo 链接,它会自动嵌入,但在我的网站上,它只是显示为一个链接。我在此搜索过,但似乎找不到答案,所以任何帮助都欢迎。

您很可能选择了一个禁止嵌入的 Vimeo 链接。请尝试将该链接发布到您的网站上。

https://vimeo.com/channels/staffpicks/353070045

仍然只显示链接

如果上面的 Vimeo 视频在这里可以正常播放,但在您的网站上无法播放,那可能是您安装了有问题的第三方插件,或者托管您 Discourse 的服务器已被 Vimeo 屏蔽。

我们使用 Google Cloud Platform,目前仅安装了以下插件:

其他 oneboxes,比如 YouTube 的,应该也能正常工作,对吧?

是的,YouTube 运行正常。我在一个网站上遇到问题(那是一个成人网站,视频能显示但无法播放)

Vimeo 嵌入功能在我的 v2.4.0.beta4 +2 版本上无法使用

是的,我始终没能弄明白,所以离开了 Discourse,因为我依赖这类嵌入功能。

昨天也遇到了同样的问题,尝试排查但徒劳无功。在将 Vimeo.com 加入白名单后,我成功通过 iframe 嵌入了内容。

出于纯粹的好奇,我在 2.4.0.beta4 版本(1576b07a10)上测试了该链接,但它也没有为我们生成单框预览/预览效果:confused:

您确定目标视频没有被标记为“不可嵌入”或“私密”吗?

https://vimeo.com/65107797

这两个链接在 @Richie 那里都工作正常。

那个链接对我来说无法使用。

已安装

2.4.0.beta4

(1576b07a10)

如果它在某处有效而在那裡无效,说明您的站点配置一定存在差异。链接 https://vimeo.com/65107797 在我刚更新到最新版本的 Digital Ocean 托管 Discourse 上也正常工作。我还特意在 staff 分类中创建了帖子,以匹配您的私密帖子示例,尽管这应该无关紧要:

我想知道配置差异可能是什么,因为它在 meta、try 以及我自己托管的 Discourse 上都能正常工作?

Vimeo 可能已将您的服务器或服务器 IP 范围列入黑名单。判断这种情况的一个方法是,如果其他视频 onebox(如 YouTube 等)以及其他类型的 onebox 都能正常工作。

我们有没有什么简单的方法可以查出来?

浏览器控制台会不会揭示任何关于原因的线索?我们能否捕获到来自 Vimeo 的响应,其中可能表明存在某种黑名单?不过我很好奇他们为什么要这么做,毕竟与其他网站相比,我们只是一个流量很小的小网站 :man_shrugging:

问题仅出现在 Vimeo 视频上,YouTube 等其他平台都运行正常。

我能在我们托管在 DigitalOcean 的一个实例上复现此问题。

在 rails 控制台中运行了以下命令:

[1] pry(main)> FinalDestination.new("https://vimeo.com/358017730", verbose: true).resolve
=> nil

… 随后在 /logs 中看到了这条警告信息:

FinalDestination 无法解析 URL(状态 403):https://vimeo.com/358017730

看起来 Vimeo 正在阻止部分 DigitalOcean 的 IP 地址,并返回 403 错误。我不确定该如何处理这种情况。

我的浏览器控制台显示了一个 404,不确定是否与此相关:

我们的 Discourse 确实部署在 DigitalOcean 的 Droplet 上 :confused:

我也看到了同样的情况。这是一次性盒子控制器的响应,并非直接来自 Vimeo。

我早就怀疑是这样了 :confused:

果然,在我的 DO 水滴服务器上运行 wget 也证实了这一点:

xx@xx:~# wget https://vimeo.com/65107797
--2019-09-16 14:16:25--  https://vimeo.com/65107797
正在解析 vimeo.com (vimeo.com)... 151.101.64.217, 151.101.192.217, 151.101.128.217, ...
正在连接 vimeo.com (vimeo.com)|151.101.64.217|:443... 已连接。
已发送 HTTP 请求,正在等待响应... 403 禁止访问
2019-09-16 14:16:25 错误 403:禁止访问。

而在我家用 PC 上运行 wget 则正常:

C:\Users\Rich>wget https://vimeo.com/65107797

--2019-09-16 15:16:56--  https://vimeo.com/65107797
正在解析 vimeo.com (vimeo.com)... 151.101.64.217, 151.101.128.217, 151.101.192.217, ...
正在连接 vimeo.com (vimeo.com)|151.101.64.217|:443... 已连接。
已发送 HTTP 请求,正在等待响应... 200 成功
长度:115631 (113K) [text/html]
正在保存至:'65107797'

65107797         100%[================>] 112.92K  --.-KB/s    耗时 0.07s

2019-09-16 15:16:57 (1.60 MB/s) - '65107797' 已保存 [115631/115631]


我刚向 Vimeo 提交了一个支持工单,询问他们能否将我们的 IP 地址从他们较为宽泛的封禁名单中排除。

不过,我对他们的回复或支持不抱太大期望:confused

但如果这里也有其他人受到类似影响,一旦他们回复我,我会在这里更新进展。