Embed do Vimeo não funciona no meu site devido ao bloqueio de IPs do servidor do Vimeo

Então, aqui, se eu colar um link do Vimeo, ele é incorporado automaticamente. No entanto, no meu site, ele apenas aparece como um link. Pesquisei aqui e não consegui encontrar a resposta, então qualquer ajuda será bem-vinda.

Muito provavelmente, você selecionou um link do Vimeo que desabilita a incorporação. Tente publicar este link no seu site.

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

Ainda mostra apenas o link

Se o vídeo do Vimeo acima funcionar aqui, mas não no seu site, ou você tem problemas estranhos com plugins de terceiros, ou o servidor onde seu Discourse está hospedado foi bloqueado de acessar o Vimeo.

Usamos a Google Cloud Platform e estes são os únicos plugins que temos atualmente

Outros oneboxes, como para o YouTube, funcionam bem, certo?

Sim, o YouTube funciona bem. Estou com problemas em um site (é um site adulto, ele mostra o vídeo, mas não reproduz).

O embed do Vimeo não funciona na minha versão v2.4.0.beta4 +2

Sim, nunca consegui resolver, então deixei o Discourse, pois dependo desse tipo de incorporação.

Tive o mesmo problema ontem e tentei em vão solucionar. Consegui incorporar usando um iframe após adicionar o Vimeo.com à lista de permissões.

Testei aquele link por pura curiosidade na minha versão 2.4.0.beta4 (1576b07a10) e ele também não gera o onebox/preview para nós :confused:

Tem certeza de que o vídeo de destino não foi marcado como “não incorporável” ou “privado”?

https://vimeo.com/65107797

Ambos os links funcionam bem, @Richie

Esse link não está funcionando para mim.

Instalado

2.4.0.beta4

(1576b07a10)

Se funciona aqui, mas não lá, algo na configuração do seu site deve ser diferente. O link https://vimeo.com/65107797 também funciona no meu Discourse hospedado na Digital Ocean, que acabei de atualizar para a versão mais recente para ter certeza. Também fiz a postagem na categoria de equipe para corresponder ao seu exemplo de postagem privada, embora isso não devesse importar:

Fico imaginando qual poderia ser a diferença na configuração, já que funciona aqui no meta, no try e no meu Discourse auto-hospedado sem problemas?

É possível que o Vimeo tenha bloqueado seu servidor ou seus intervalos de IP do servidor. Uma maneira de saber se esse é o caso é verificar se outros oneboxes de vídeo (YouTube, etc.) e outros tipos de oneboxes funcionam normalmente.

Haveria uma maneira fácil para nós descobrirmos?

O console do navegador revelaria alguma pista sobre a causa? Conseguiríamos capturar uma resposta do Vimeo que indicasse algum tipo de bloqueio? Fico imaginando por que eles fariam isso, já que somos apenas um site pequeno e de baixo tráfego em comparação com outros :man_shrugging:

São apenas vídeos do Vimeo; YouTube e outros estão funcionando perfeitamente.

Consegui reproduzir esse problema em uma de nossas instâncias hospedadas na DigitalOcean.

Executei isso no console do Rails:

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

… e em /logs vi esta mensagem de aviso:

FinalDestination não pôde resolver a URL (status 403): https://vimeo.com/358017730

Parece que o Vimeo está bloqueando um subconjunto de IPs da DigitalOcean e retornando erro 403. Não tenho certeza de como lidar com esse caso.

Meu console do navegador mostra um 404, não tenho certeza se está relacionado:

Nosso Discourse está, de fato, em um droplet do Digital Ocean :confused:

Estou vendo isso também. Essa é a resposta do controlador onebox e não vem diretamente do Vimeo.

Eu suspeitava disso :confused:

E, como esperado, o uso do wget no meu droplet DO também confirma:

xx@xx:~# wget https://vimeo.com/65107797
--2019-09-16 14:16:25--  https://vimeo.com/65107797
Resolvendo vimeo.com (vimeo.com)... 151.101.64.217, 151.101.192.217, 151.101.128.217, ...
Conectando a vimeo.com (vimeo.com)|151.101.64.217|:443... conectado.
Pedido HTTP enviado, aguardando resposta... 403 Proibido
2019-09-16 14:16:25 ERRO 403: Proibido.

Enquanto o wget no meu PC doméstico funciona sem problemas:

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

--2019-09-16 15:16:56--  https://vimeo.com/65107797
Resolvendo vimeo.com (vimeo.com)... 151.101.64.217, 151.101.128.217, 151.101.192.217, ...
Conectando a vimeo.com (vimeo.com)|151.101.64.217|:443... conectado.
Pedido HTTP enviado, aguardando resposta... 200 OK
Tamanho: 115631 (113K) [text/html]
Salvando em: '65107797'

65107797         100%[=============>] 112,92K  --.-KB/s    em 0,07s

2019-09-16 15:16:57 (1,60 MB/s) - '65107797' salvo [115631/115631]


Acabei de abrir um ticket de suporte com a Vimeo, perguntando se eles podem excluir nosso endereço IP de uma proibição geral um pouco ampla.

Não estou esperando muita resposta ou suporte deles, no entanto :confused:

Mas, caso outros aqui também sejam afetados, vou postar uma atualização aqui se/e quando eles me responderem.