Vimeo Embed not working on my site due to Vimeo server IP blacklisting

I’m very interested too. I have the same issue on my discourses forum…

I was going to wait until fully resolved, but a quick update for you all.

Vimeo support did indeed confirm a blanket-ban on many different cloud hosting provider IP ranges.

I asked to be whitelisted / excluded from that ban. I had to jump through several hoops and answer some questions on a form about intended usages etc, but yesterday I had a message from them that said they were speaking to their “Security and Reliability Engineering Team” to whitelist our IPs.

I’ll post a proper update/details here when fully resolved.

Fair play to Vimeo support, they have indeed whitelisted our Digital Ocean droplet IP address.

And in testing, the same URL as used in this thread, you’ll see it failed in all previous tests and worked perfectly on the last one just now:

Just to expand on this, I had to create a public post on our Discourse, with the failed embedded video URL visible and send them the URL to said post. I marked that post as unlisted.

I also had to verify that the IP address of our site was static (seemed an odd question).

And lastly, I had to provide a few paragraphs explaining what our intended use case was for wanting to embed videos in our site.

The whole process took just three days from start to finish :+1:t2:

So @PaigeLynn I am curious how you ever got this working, since Vimeo was clearly blacklisting entire server IP ranges. It had nothing to do with Discourse at all.

정말 유용한 글 감사합니다!
저도 과거에는 문제가 없던 서버에서 정확히 같은 문제를 겪었습니다. 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
Resolving vimeo.com (vimeo.com)... 151.101.192.217, 151.101.0.217, 151.101.128.217, ...
Connecting to vimeo.com (vimeo.com)|151.101.192.217|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 125476 (123K) [text/html]
Saving to: 65107797

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

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

저도 같은 문제를 겪고 있습니다. Vimeo 측과 여러 번 주고받은 끝에 다음과 같은 답변을 받았습니다. 이 답변을 이해하지 못해 어떻게 해결해야 할지 모르겠습니다.

Vimeo 지원팀 답변:

확인했습니다. 정보를 제공해 주셔서 감사합니다. Onebox 플러그인에 대해 조사해 본 결과, 해당 플러그인의 GitHub 페이지를 살펴본 바로는 Vimeo에서 메타데이터를 가져올 때 지원되지 않는 방법을 사용하고 있는 것으로 보입니다.

Vimeo에서 메타데이터를 가져오려면 oEmbed 구현 방식을 사용하는 것을 권장합니다. Onebox 개발자가 플러그인을 업데이트하여 oEmbed를 지원하도록 해야 합니다. 또한, oEmbed를 사용하면 IP 주소 차단에도 영향을 받지 않습니다.

죄송하지만, 해당 플러그인이 Vimeo에서 메타데이터를 가져올 때 지원되지 않는 방식을 사용하고 있으므로 현재로서는 고객님의 IP 주소를 화이트리스트에 추가할 수 없습니다. IP 차단을 우회하려면 Onebox에 플러그인 업데이트를 요청하거나, Vimeo 메타데이터를 가져오기 위해 oEmbed를 사용하는 다른 플러그인을 찾아보시기 바랍니다.

서버에서 직접 Vimeo 페이지를 wget으로 가져와서 IP 주소가 차단 목록에 있는지 확인해 볼 수 있나요?

이 내용을 어떻게 해석해야 할지 모르겠지만, 저에게는 차단된 것처럼 보입니다!

06%20PM

Vimeo 측에서는 개발자가 onebox 플러그인을 업데이트해야 한다고 생각하는 것 같습니다.

안녕하세요, Vimeo의 개발자 지원 전문가인 토미입니다. 최근 위에 언급된 스티브에게 답변을 드렸으며, 지난 몇 주 동안 이곳에 게시물을 남기신 다른 사용자들의 IP 주소 화이트리스트 요청도 처리했을 가능성이 높습니다. IP 블록과 관련된 Vimeo 오류를 경험하는 개발자 및 웹사이트 소유자들이 예상되는 상황과 해결 방법을 알 수 있도록 몇 가지 정보를 공유하고자 합니다.

일부 클라우드 호스팅 제공업체에서 일부 IP 주소를 차단하고 있습니다. 보안상의 이유로 어떤 클라우드 호스팅 제공업체의 어떤 IP 주소가 차단되었는지 공개할 수 없습니다.

지난주 백엔드에서 몇 가지 변경 작업을 진행한 후, 인간 사용자(예: 해당 클라우드 제공업체 중 하나에서 호스팅되는 VPN을 사용하는 클라이언트)는 CAPTCHA 도전을 통과하여 Vimeo에 액세스하고 자신의 IP 주소를 일시적으로 화이트리스트에 등록할 수 있습니다. Vimeo에 직접 연락하여 IP 주소를 수동으로 화이트리스트에 등록할 필요가 더 이상 없으며, 물론 항상 기꺼이 설명을 드리고 올바른 방향으로 안내해 드리겠습니다.

Discourse, 특히 Onebox 라이브러리를 사용할 때 발생하는 것으로 보이는 문제는 Onebox가 비공식적인 방식으로(제가 여기에서 확인한 바에 따르면) Vimeo 비디오 메타데이터를 시도한다는 것입니다. 공식적으로 Vimeo는 광범위한 대중을 위한 og 태그 사용을 지원하지 않습니다. 대신, 동일한 메타데이터(임베드 코드, 썸네일 이미지, 비디오 URL 등)를 가져오려면 oEmbed 구현 사용을 권장합니다.

oEmbed 또는 정식 Vimeo API 사용은 일반적으로 동일한 IP 블록의 적용 대상이 아닙니다. oEmbed 또는 Vimeo API 사용은 서버가 Vimeo의 데이터를 가져오고 상호작용하는 유일한 지원되는 방법입니다. Discourse는 oEmbed를 사용하도록 Onebox 라이브러리를 적절히 수정해야 합니다.

Vimeo oEmbed 구현은 여기에서 문서화되어 있습니다: Vimeo

상황을 알려주셔서 감사합니다.

무례하게 들리지 않게 어떻게 질문해야 할지 모르겠지만, OG 태그를 지원하지 않는다면 왜 그 태그를 전송하나요?

수년간 잘 작동하다가 갑자기 멈췄습니다. Discourse에는 다른 사이트들을 위한 사이트별 원박스(one-box) 기능이 있으므로 누군가가 그 기능을 구현할 것으로 생각되지만, 비디오 콘텐츠가 많고 Vimeo 콘텐츠를 다량으로 사용하는 사이트를 운영하는 제 클라이언트는 이렇게 말했습니다:

저는 여기서 엔지니어가 아니기 때문에 원박스(onebox) 구현을 직접 변경하는 것에 대해 언급할 수는 없지만, 개방된 사용을 위한 공개 표준으로 supposed to be something을 지원하지 않는다는 것을 개발자들이 파악하기 매우 어렵게 만든다는 점에는 동의합니다.

결국 일부 클라우드 프로바이더의 일부 IP 주소에서 (직접 제공한) 일부 메타데이터의 사용을 차단하고 있는 것입니다. 이런 문제를 겪는 사용자는 다른 메타데이터, 다른 IP 주소, 또는 다른 클라우드 프로바이더를 사용하면 쉽게 해결할 수 있습니다.

남은 질문은 단 하나뿐입니다.

왜? 도대체 왜 그렇게 하는 걸까요?

Justin님, 저도 개발자는 아니지만, 여기서 개발팀과 제품팀과 매우 긴밀하게 협력하고 있습니다. 좋은 질문을 주셨고, 서드파티에 대한 OG 태그 지원에 대해 더 구체적인 정보를 얻기 위해 팀에 문의해 보겠습니다.

다른 분들처럼 저도 답변이 없는 것을 좋아하지 않으며, 여기서 Vimeo에 대해 나쁜 인상을 남기고 싶지 않습니다. 곧 답변을 가지고 다시 찾아뵙겠습니다.

@tommypenner, 이 문제를 해결하는 데 도움을 주기 위해 이 커뮤니티에 참여해 주셔서 감사합니다. 제 Discourse 사이트에는 많은 교육용 영상이 있으며, 임베디드 영상이 매우 중요합니다.

@tommypenner, 업데이트가 있나요? 제 Discourse 사이트는 비디오를 위해 Vimeo에 의존하고 있습니다.

이 스레드를 우연히 발견하게 되어, 다른 분들과 마찬가지로 제 불만을 표하고 싶습니다. 제 포럼의 IP(@michaeld의 Communiteq (구 DiscourseHosting)에 호스팅됨)도 apparently 차단된 것 같습니다… 얼마 전부터 Vimeo 임베드가 작동하지 않았는데, 방금까지 그 이유를 알지 못했습니다.

우리는 Vimeo 영상을 많이 게시하지는 않지만, 제 사이트에 영상을 임베드하기 위해 Pro 플랜을 단순히 그 목적으로만 결제했는데, 이제 그마저도 작동하지 않습니다. :frowning_face:

이 주제에 대해 엔지니어들에게 안내해 주셨나요?

포럼을 차단되지 않은 IP로 이전해 드릴 수 있습니다. 포럼 이름을 명시하여 지원팀(support@discoursehosting.com)에 문의해 주세요.

좋은 아이디어지만, Vimeo를 계속 임베드한다면 어떤 IP로 옮기든 곧 차단될 것 같지 않나요?