У меня проблема с встраиванием видео с YouTube
Вот ссылка на мою тему
В чём ваша проблема?
Есть ли решение этой проблемы? Есть ли настройки, которые напрямую связаны с этим?
Происходит ли это в безопасном режиме? Есть ли ошибки в браузере? Спасибо.
Я перепробовал всё, но ничего не работает. Все видео с YouTube на моём сайте не воспроизводятся и выдают эту ошибку.
@hameedacpa, вы ещё не… Чтобы проиллюстрировать, похоже, что эта проблема уже решена в другом месте:
Вы уже пробовали какие-либо онлайн-решения?
Я не думаю, что это имеет отношение к моему случаю
@hameedacpa, почему? Это тот же код ошибки.
К сожалению, я попробовал рекомендованное решение, но оно не сработало. Я думаю, что проблема внутренняя.
Не уверен, связано ли это с этим, но я вижу, что блокируется огромное количество файлов cookie.
Также в консоли нет ошибок, и проблема сохраняется даже в безопасном режиме…
@hameedacpa, а что насчет добавления https://youtube.com/ в настройку allowed_iframes? Не уверен, что это поможет, но стоит попробовать.
Надеюсь, это поможет +1 к жалобе OP. Без каких-либо изменений (я на стабильной ветке) у меня тоже возникает та же ошибка, даже когда вы нажимаете «Воспроизвести» на существующем видео, которое раньше работало:
Я пробовал через мобильное устройство, обходя офисный фаервол, отключая Cloudflare. Пока ничего не помогло.
Тестирование здесь показывает ошибку в редакторе, но в форуме всё отображается корректно:
Обновление:
YouTube недавно ужесточил свои политики, поэтому новые коды встраивания теперь включают referrerpolicy=“strict-origin-when-cross-origin” вместе с обновлёнными атрибутами allow. Я нашёл эту статью:
Без этих параметров YouTube отклоняет запросы конфигурации из iframe, и вы видите ошибку 153.
Также см.:
Мне удалось решить эту проблему с помощью Cloudflare до официального исправления.
Для тех, кто столкнулся с той же проблемой: причина в том, что YouTube теперь отклоняет запросы на встраивание, в которых отсутствует корректный заголовок политики реферера.
Я добавил заголовок Referrer-Policy через Transform Rules в Cloudflare (Workers не требуются).
Вот что я сделал:
-
В Cloudflare перейдите в Rules → Transform Rules → HTTP Response Header Modification.
-
Создайте новое правило, выберите All incoming requests и добавьте статический заголовок:
Header name: Referrer-Policy Value: strict-origin-when-cross-origin -
Разверните правило.
Удалю это после официального исправления.
хм ![]()
Как я понимаю, в Discourse внесённые вами изменения в Nginx внутри этого контейнера будут удалены при следующей команде ./launcher rebuild app или при обновлении через интерфейс.
Если вы хотите, чтобы изменение сохранилось, не редактируйте работающий контейнер Discourse напрямую. Вместо этого внесите изменение в файл /var/discourse/containers/app.yml, чтобы оно сохранялось при пересборках и обновлениях.
После добавления вы можете выполнить пересборку:
./launcher rebuild app
Не все используют Cloudflare, но именно поэтому я выбрал его для этого исправления. Не пришлось пересобирать, это лишь временное решение.
Так как заголовки безопасности применяются по принципу «последний полученный заголовок имеет приоритет», это работает.
Это был самый быстрый и наименее инвазивный способ заставить всё работать. Но если вы вносите изменения внутри контейнера, имейте в виду, что вам придётся повторять их каждый раз при пересборке или обновлении Discourse. ![]()
У нас была такая же проблема несколько месяцев назад, но только у 3 пользователей. Наш администратор хостинга был в отъезде, и никто не имел доступа к настройкам хостинга, поэтому мы поступили так:
Отредактируйте тему и добавьте это в секцию «head»:
<meta name="referrer" content="strict-origin-when-cross-origin">
Ваше решение работает с этим мета-тегом






