@id_coder

Как воспроизвести аудио с другого сервера в Safari на iOS?

Здравствуйте!

Уже несколько дней ломаю голову над тем, как заставить Safari на iOS получить аудиофайл и воспроизвести его НЕ в режиме прямого эфира, а как обычное аудио с обозначенным временем и возможностью перемотки.
5ecd8e021ea70875235697.png
Проблема в том, что остальные браузеры, включая Safari на macOS, прекрасно справляются с поставленной задачей, но iOS при прочих равных условиях делает запрос, но не получает ничего в ответ.

5ecd7e8be035c351911024.png

Изначально я думал, что проблема в PHP скрипте, который отвечает за возврат данных, но подключив iPhone к proxy через Charles, аудио начало воспроизводится нормально (не как стрим). Из этого я сделал вывод, что дело не в скрипте, а скорее всего в моем сервере или CloudFlare.
Мой сервер реагирует на все запросы, но ответ не приходи только на iOS.
Я пробовал менять настройки кэширования CloudFlare, отключал gzip для аудиофайлов в конфигах Nginx, мучил заголовки в PHP скрипте, скурил кучу форумов по схожим проблемам, но решение не нашел.

Возможно кто-то из читающих это сталкивался с подобной проблемой и знает/предполагает возможные пути решения.
Буду рад любой помощи))
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
@id_coder Автор вопроса
Решение нашлось!

Оказалось вся проблема была в CloudFlare. Если отключить SSL и https редирект, все прекрасно работает на любом устройстве, но тк лишаться плюшек CF совсем не хочется, я нашел элегантный, по моему мнению, костыль.

Решение сводится к созданию поддомена. Настроив поддомен в nginx идентично основному, его можно также проксировать через CF, но правила "Page Rules" в отношении https на него распространяться не будут, поэтому через него можно смело отдавать аудиофайлы. Главное при обращении указывать именно http, а не https.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы