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

我也非常感兴趣。我的 Discourse 论坛也遇到了同样的问题…

我本想等到问题完全解决后再说,但先给大家一个简短的更新。

Vimeo 支持团队确实确认,他们对许多不同的云托管提供商的 IP 地址段实施了全面封禁。

我申请将我列入白名单或从该封禁中排除。为此,我不得不完成多项繁琐的步骤,并在表格中回答了一些关于预期用途等问题。但昨天,我收到他们的消息,称他们正在与“安全与可靠性工程团队”沟通,以将我们的 IP 地址列入白名单。

待问题完全解决后,我会在此发布正式的更新和详细信息。

必须为 Vimeo 支持团队点赞,他们确实已将我们的 Digital Ocean Droplet IP 地址加入白名单。

在测试中,使用本线程中相同的 URL,您会看到它在之前的所有测试中均失败,而就在刚才的最后一次测试中完美运行:

对此再补充一点:我不得不在我们的 Discourse 上创建一个公开帖子,其中显示失败的嵌入视频 URL,并将该帖子的链接发送给他们。我将该帖子标记为“不公开”。

我还必须验证我们网站的 IP 地址是静态的(这个问题听起来有些奇怪)。

最后,我还需要提供几段文字,说明我们希望在网站上嵌入视频的预期使用场景。

整个过程从开始到结束仅用了三天时间 :+1:t2:

所以 @PaigeLynn,我很好奇你是如何让这行得通的,因为 Vimeo 显然在封禁整个服务器 IP 段。这跟 Discourse 毫无关系。

非常实用的帖子,谢谢!
我刚刚在一台服务器上遇到了完全相同的问题,而该服务器过去一直运行正常。Vimeo 的响应其实相当迅速,在我首次提交支持请求后的 12 小时内,IP 地址就已重新开放。我使用的是 DigitalOcean。

对于任何向 Vimeo 反映此问题的人,我的请求大致包含以下内容:

我无法在我的网站上嵌入 Vimeo 视频,我进行了一些测试,认为我的服务器地址被封锁了。

随后,我使用了 Richie 在下面展示的 wget 测试,并配合我服务器返回的响应结果。

好消息 :+1:t2:

为了完整起见,现在在我的 Digital Ocean 实例上使用 wget 时,403:Forbidden 错误已消失:

xx@xx:~# wget https://vimeo.com/65107797
--2019-10-06 15:25:19--  https://vimeo.com/65107797
正在解析 vimeo.com (vimeo.com)... 151.101.192.217, 151.101.0.217, 151.101.128.217, ...
正在连接 vimeo.com (vimeo.com)|151.101.192.217|:443... 已连接。
已发送 HTTP 请求,正在等待响应... 200 OK
长度:125476 (123K) [text/html]
正在保存至:65107797

65107797                                          100%[========================>] 122.54K  --.-KB/s    耗时 0.007s

2019-10-06 15:25:20 (17.4 MB/s) - â65107797â 已保存 [125476/125476]

我也遇到了同样的问题。Vimeo 在多次来回沟通后回复了以下内容。我不太理解他们的回复,也不知道该如何解决。

来自 Vimeo 支持团队:

明白了,感谢提供的信息。我针对 Onebox 插件进行了一些调研,根据该插件的 GitHub 页面 显示,它正使用不受支持的方法从 Vimeo 获取元数据。

为了从 Vimeo 获取元数据,我们建议使用我们的 oEmbed 实现。Onebox 的开发者需要更新其插件以支持 oEmbed。此外,使用 oEmbed 不会受到 IP 地址封禁的影响。

很抱歉,由于该插件正以不受支持的方式从 Vimeo 获取元数据,我们目前无法将您的 IP 地址加入白名单。要绕过 IP 封禁,您需要请求 Onebox 更新其插件,或者寻找其他利用 oEmbed 来获取 Vimeo 元数据的插件。

您能否在服务器本身上使用 wget 访问 Vimeo 页面,以确认该 IP 地址已被列入黑名单?

我不太确定如何解读,但在我看来这像是被阻止了!

06%20PM

Vimeo 认为开发者需要更新 onebox 插件。

你好,我是 Tommy,是 Vimeo 的开发支持专员。我最近回复了上面 Steve 的留言,并且在过去几周里,很可能也处理过其他在此发帖的用户提出的 IP 地址白名单请求。我想在此提供一些信息,以便遇到与 IP 封锁相关的 Vimeo 错误的开发者和网站所有者了解预期情况以及如何解决问题。

我们在部分云服务商处确实存在被封锁的 IP 地址。出于安全考虑,我们无法公开披露具体是哪些云服务商,或这些服务商中哪些 IP 地址被禁止访问。

上周我们在后端进行了一些调整后,人类用户(例如使用由这些云服务商之一托管的 VPN 的客户)现在应能够通过解决 CAPTCHA 验证码挑战来获得 Vimeo 访问权限,并临时将其 IP 地址加入白名单。通过联系 Vimeo 手动添加 IP 地址到白名单的操作将不再必要,不过我们始终乐意为您澄清问题并指引正确方向。

在 Discourse 上,特别是使用 Onebox 库时,似乎发生的情况是:Onebox 尝试以不受支持的方式获取 Vimeo 视频元数据(根据我在 此处 所见)。官方而言,Vimeo 并不支持 og 标签用于广泛的公开使用。相反,我们建议使用我们的 oEmbed 实现来获取相同的元数据(如嵌入代码、缩略图、视频 URL 等)。

使用 oEmbed 或完整的 Vimeo API 通常不会受到相同的 IP 封锁限制——使用 oEmbed 或 Vimeo API 是服务器获取和与 Vimeo 数据交互的唯一受支持方法。Discourse 需要相应地修改 Onebox 库,以改用 oEmbed。

Vimeo oEmbed 实现的文档位于:Vimeo

感谢您告知我们情况。

我不知道如何提问才能不显得失礼,但如果您不支持 OG 标签,为何还要发送它们?

这一功能多年来一直有效,最近却突然停止。Discourse 确实为其他网站提供了特定站点的单盒预览,因此想必会有人针对 Vimeo 实现类似功能。但我的客户(其网站以视频内容为主,包含大量 Vimeo 素材)表示:

我并非这里的工程师,因此无法就修改 onebox 实现本身发表评论,但我确实同意,这会让开发者非常难以判断你们不支持某些本应是开放标准、供开放使用的功能

所以,您正在阻止在部分云服务商的某些 IP 地址上使用某些(您自行提供的)元数据。遇到问题的用户只需改用其他元数据、其他 IP 地址或其他云服务商即可解决。

现在只剩下一个问题要问:

为什么?天哪,到底是为什么?

嘿,Justin,我本人也不是开发人员,但在这里与我们的开发和产品团队紧密合作。你问的问题很好,我会把它转达给我们的团队,以获取关于第三方 OG 标签支持的更具体信息。

和所有人一样,我也不喜欢模棱两可的回答,我也不希望在这里给 Vimeo 留下不良印象。我会尽快给大家一些答复。

@tommypenner,感谢您加入本社区协助解决此问题。我的 Discourse 站点上有许多教育视频,嵌入视频功能至关重要。

@tommypenner,有任何更新吗?我的 Discourse 站点依赖 Vimeo 来播放视频。

刚看到这条帖子,也想加入大家的失望行列——我论坛的 IP(托管在 @michaeldCommuniteq(原 DiscourseHosting)上)似乎也被封锁了……Vimeo 嵌入功能早已失效,直到刚才我才明白原因。

我们并没有发布大量 Vimeo 视频,但我当初特意购买专业版,就是为了能在网站上嵌入视频,现在这功能却用不了了。:frowning_face:

你引导你的工程师看过这个主题了吗?

我们可以将您的论坛迁移到未被封禁的 IP。只需联系我们的支持团队(support@discoursehosting.com),并提供您论坛的名称即可。

这个主意不错,但如果他们继续嵌入 Vimeo,那么任何迁移到的 IP 地址似乎很快就会被封锁,不是吗?