Вставка Vimeo не работает на моём сайте из-за блокировки IP-адресов серверов Vimeo

Итак, здесь, если я вставлю ссылку на Vimeo, она автоматически встроится, однако на моём сайте она просто отображается как ссылка. Я поискал здесь, но не смог найти ответ, так что любая помощь будет приветствоваться.

Скорее всего, вы выбрали ссылку Vimeo, которая запрещает встраивание. Попробуйте разместить эту ссылку на своём сайте.

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

По-прежнему отображается только ссылка

Если вышеуказанное видео Vimeo работает здесь, но не на вашем сайте, то либо у вас проблемы с каким-то странным сторонним плагином, либо сервер, на котором размещен ваш Discourse, заблокирован для доступа к Vimeo.

Мы используем Google Cloud Platform, и вот только эти плагины у нас сейчас установлены

Другие однобоксы, например, для YouTube, работают нормально, да?

Да, YouTube работает нормально. У меня проблемы с одним сайтом (это сайт для взрослых, он показывает видео, но не воспроизводит его).

Видео Vimeo не работает в моей версии v2.4.0.beta4 +2

Да, так и не разобрался, поэтому оставил Discourse, так как полагаюсь на такие встраивания.

Вчера у меня была та же проблема, и я пытался решить её безрезультатно. Мне удалось встроить видео через iframe после добавления Vimeo.com в белый список.

Попробовал эту ссылку из чистого любопытства на версии 2.4.0.beta4 (1576b07a10), и у нас она тоже не создаёт превью/карточку ссылки :confused:

Вы уверены, что целевое видео не помечено как «недоступно для встраивания» или «приватное»?

https://vimeo.com/65107797

Обе ссылки работают нормально, @Richie

Эта ссылка у меня не работает.

Установлено

2.4.0.beta4

(1576b07a10)

Если это работает здесь, но не там, значит в конфигурации вашего сайта что-то отличается. Ссылка https://vimeo.com/65107797 также работает на моём Discourse, размещённом на Digital Ocean, который я только что обновил до самой последней версии для проверки. Я также создал пост в категории «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 блокирует подмножество IP-адресов DigitalOcean и возвращает ошибку 403. Я не уверен, как обработать этот случай.

В консоли моего браузера отображается 404, не уверен, связано ли это:

Наш Discourse действительно размещён на виртуальном сервере DigitalOcean :confused:

Я тоже это вижу. Это ответ контроллера onebox, и он приходит не напрямую от Vimeo.

Я так и думал :confused:

И действительно, использование wget на моём DO droplet тоже подтверждает:

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 Forbidden
2019-09-16 14:16:25 ОШИБКА 403: Forbidden.

В то время как 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 OK
Длина: 115631 (113K) [text/html]
Сохранение в: '65107797'

65107797         100%[=============>] 112.92K  --.-КБ/с    за 0.07с

2019-09-16 15:16:57 (1.60 МБ/с) - '65107797' сохранено [115631/115631]


Я только что открыл тикет в службу поддержки Vimeo, чтобы узнать, смогут ли они исключить наш IP-адрес из их довольно широкого общего бана.

Однако я не жду от них особого ответа или поддержки :confused:

Но на случай, если здесь тоже есть пострадавшие, я опубликую обновление здесь, если/когда они ответят мне.