So On here if I paste a vimeo link it auto embedds however on my site it just posts as a link Ive searched here and cant seem to find my answer so any help is welcomed
Most likely you picked a vimeo link that disallows embedding. Try posting this link on your site.
https://vimeo.com/channels/staffpicks/353070045
Still Shows only the link
If the above Vimeo video works here but not on your site, either you have weird third party plugin problems, or the server your Discourse is on has been blocked from accessing vimeo.
Other oneboxes, such as to YouTube, work OK, yes?
Yes Youtube Works Fine I’m Having issues with one site (its an adult one it shows the video but doesnt play)
Vimeo Embed doesn’t work on my v2.4.0.beta4 +2 version
Yep never got it figured out so I left discourse as I rely on these types of embeds
Had the same issue yesterday and tried in vein to troubleshoot. I was able to embed using an iframe after whitelisting Vimeo.com
Tried that link out of sheer curiosity on my 2.4.0.beta4 (1576b07a10) and it doesn’t onebox/preview for us either
You’re sure the target video has not been marked "not embeddable” or “private”?
https://vimeo.com/65107797
Both links work fine @Richie
If it works here but not there, something in your site configuration has to be different. The link https://vimeo.com/65107797
also works on my Digital Ocean hosted Discourse, which I just updated to absolute latest to make sure. I also made the post in the staff category to match your private post example, not that it should have mattered:
I wonder what the configuration difference could be, since it works here on meta, on try, and on my self hosted Discourse just fine?
It is possible vimeo has blacklisted your server or your server IP ranges. One way to tell this is the case, is if other video oneboxes work fine (youtube, etc) and other types of oneboxes.
Would there be an easy way for us to find out?
Would the browser console reveal any clues as to the cause? Could we catch a response from Vimeo that might indicate some kind of blacklisting? I wonder why they’d do that though, we’re only a small low-traffic site compared to others
It’s only Vimeo videos, YouTube et al are all working fine.
I was able to repro this issue on one of our DigitalOcean hosted instance.
Ran this in rails console:
[1] pry(main)> FinalDestination.new("https://vimeo.com/358017730", verbose: true).resolve
=> nil
… and in the /logs
saw this warning message:
FinalDestination could not resolve URL (status 403): https://vimeo.com/358017730
It seems like Vimeo is blocking a subset of DigitalOcean IPs and is returning 403 error. I am not sure how to handle this case.
My browser console shows a 404
, unsure if it’s related:
Our Discourse is indeed on a Digital Ocean droplet
I am seeing that as well, that is the onebox controller response and is not coming from Vimeo directly.
I suspected as much
And sure enough, using wget on my DO droplet also confirms:
xx@xx:~# wget https://vimeo.com/65107797
--2019-09-16 14:16:25-- https://vimeo.com/65107797
Resolving vimeo.com (vimeo.com)... 151.101.64.217, 151.101.192.217, 151.101.128.217, ...
Connecting to vimeo.com (vimeo.com)|151.101.64.217|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2019-09-16 14:16:25 ERROR 403: Forbidden.
Whereas wget
on my home PC works fine:
C:\Users\Rich>wget https://vimeo.com/65107797
--2019-09-16 15:16:56-- https://vimeo.com/65107797
Resolving vimeo.com (vimeo.com)... 151.101.64.217, 151.101.128.217, 151.101.192.217, ...
Connecting to vimeo.com (vimeo.com)|151.101.64.217|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 115631 (113K) [text/html]
Saving to: '65107797'
65107797 100%[=============>] 112.92K --.-KB/s in 0.07s
2019-09-16 15:16:57 (1.60 MB/s) - '65107797' saved [115631/115631]
I’ve just opened a support ticket with Vimeo asking if they can exclude our IP address from their somewhat wide blanket ban.
I’m not expecting much response or support from them though
But in case others here are also affected, I’ll post an update here if/when they get back to me.