CrossDomain Access, HLS через CloudFront с подписанным URL(JWplayer)

Я использую потоковую передачу HLS с Amazon S3 и Cloud Front с использованием JWplayer. (С рельсами)

Я использовал подписанный URL-адрес для шифрования URL-адреса и создал идентификатор доступа к источнику, как указано в документации по Amazon Cloud Front. Подписанные URL генерируются нормально.

У меня также есть файл "crossdomain.xml" в моей корзине, который разрешает все источники (я дал "*"). Теперь, когда я пытаюсь воспроизвести мои видеофайлы HLS из своей корзины, я получаю проблему отказа в междоменном доступе.

Я думаю, что JW Player пытается получить доступ к файлу 'crossdomain.xml' без подписанного хэша. Итак, он получает эту ошибку.

Я протестировал мой файл в демоверсии JWplayer Stream, и это ошибка, которую я получаю в консоли.

Fetch API cannot load http://xxxxxxxx.cloudfront.net/xxx/1/1m_test.ts. 

No 'Access-Control-Allow-Origin' header is present on the requested resource.Origin 'http://demo.jwplayer.com' is therefore not allowed access. The response had HTTP status code 403.

If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Вот скриншот

Вот скриншот.

Пожалуйста, помогите мне. Благодарю вас.

Это ссылка, по которой я перешел для настройки своего дистрибутива CloudFront.

1 ответ

У меня просто была такая же проблема (но с Flowplayer). Я еще не уверен насчет угроз безопасности (и если все шаги необходимы), но я запустил его с:

  • добавление разрешений на crossdomain.xml для всех, чтобы открыть / скачать
  • добавление поведения в дистрибутив облачного фронта только для crossdomain.xml без ограничения доступа (выше поведения для * с ограниченным доступом)
  • и затем я заметил, что в корзине ссылка на crossdomain.xml была похожа на " https://some-server.amazonaws.com/bucket.name/%1Fcrossdomain.xml" (обратите внимание на странный%1F) и что когда я переименовал файл crossdomain.xml, я мог удалить один невидимый символ в первой позиции имени (я не создал файл crossdomain.xml, поэтому я не уверен, как это произошло)

Изменить: У меня был hlsjs также работает с этим и делает доступным crossdomain.xml как-то отключил запрос CORS. Я все еще смотрю на это.

Другие вопросы по тегам