Follow

: если залитый в Mastodon аудиофайл не прослушивается, и лисица выдает
```
Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на assets.home.social/cache/media. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»). Код состояния: 206.
```
то это вообще что значит?

В Хроме/опере у аудиофайла даже не грузится кнопка плей.

Что у меня может быть сломано? @ru @rf

@johan
Это значит, что кто-то CORS для S3 не настроил.

@skobkin «Вы находитесь на воздушном шаре» 🙂

Т.е. если у меня вообще никакие аудиофайлы в Мастодоне не проигрываются, с любых серверов, то проблема, блин, где?

@johan
Проблема в отсутствии настроенного CORS в твоём S3 сторедже.

Потому что контент других серверов кешируется там же перед тем как тебе его показывать.

@johan в настройках инстанса, короче. Починить может только его администратор.

@skobkin

@dside @skobkin ...И это несмотря на то, что по прямой ссылке, указанной в сообщении о ошибке, как из оригинального источника, так и из кэша другого инстанса, mp3-файл нормально грузится, даже из браузера, где я ни в какой Мастодон не залогинен?

@johan @dside
Да. Потому что когда ты по прямой открываешь, это происходит из другого контекста.

CORS - он про то что ты находясь в контексте домена X запрашиваешь ресурс с домена Y.

@johan угу. CORS, грубо, это про политики загрузки одного изнутри другого. Оба могут работать по отдельности, но не доверять друг другу и не работать именно в связке.

@skobkin

@dside @skobkin А чем это отличается от, например, воспроизведения Ютуба и показа картинок?

@skobkin @dside ...Но не работает только аудио, залитое в Мастодон... Штош...

@johan @dside
Потому что:

- Встраиваемый YouTube обычно в IFRAME. То есть в проигрыватель находится в контексте доменов гугла, а не твоей страницы.
- У гугла может стоять настройка на разрешение "*" (всего подряд).

@johan это зависит от заголовков, что приходят с ресурсом (картинкой, аудио, и т. д.). Они не обязаны быть связаны с типом медиа. Но могут. В конфиге можно такое написать. Можно даже случайно: настроить добавление заголовка CORS для URL только с картиночными расширениями, например, чтобы починить отображение именно картинок, и забыть про остальные типы вложений.

@skobkin

@johan
заголовок CORS позволяет источнику сайта запрещать запросы к другим доменам.

то есть, когда страница с home.social лезет на assets.home.social ей нельзя пока не разрешишь.

вроде так.

@ru @rf

@kpmy ...И это вот так повсеместно в Мастодоне, потому что админы забивают на настройку для .mp3?

@johan наверное, только у тех кто разделил домены

на моем простецком всё работает m.ocsf.in/@kpmy/11000391516986

@kpmy Да, но только если отдельно страницу открыть. Если смотреть из морды другого сервера — та же ошибка 😠

@johan потому что другие сервера отдают контент со своих под-доменов

@johan ну или клевать админа, пусть чинит)

@kpmy @johan нет, сторонние сервера не обязаны прокачивать контент через себя, но многие так делают, чтобы не раскрывать айпишники своих пользователей

Sign in to participate in the conversation
CleverLibre Social

CleverLibre Social is an inclusive social instance for open discussion, learning, and community.
All cultures welcome.
Hate speech and harassment strictly forbidden.