HTML5 видео на IPad Safari с использованием HTTPS - PullRequest
7 голосов
/ 12 июля 2011

Я пытаюсь воспроизвести видео .mp4 на iPad (браузер Safari), используя элемент видео HTML 5.Все отлично работает с использованием HTTP.Однако видео не будет загружаться (или воспроизводиться) при доступе по HTTPS.Если я захожу на тот же веб-сайт из браузера Desktop Chrome, я могу загружать и воспроизводить видео, используя HTTPS.В Интернете есть подсказки о том, что QuickTime и HTTPS не работают на iPad.Это та же проблема?

1 Ответ

2 голосов
/ 15 августа 2014

Используемый вами SSL-сертификат, вероятно, не был выдан доверенным корневым центром сертификации (или CA) iOS / Safari.

В настоящее время SSL-сертификаты, скорее всего, выпущены "Промежуточными ЦС".То есть CA, которому доверяет корневой CA.Тем не менее, ваш браузер / ОС ничего не знает об этом.Он только знает, что ваш сертификат SSL был выдан центром сертификации, которому он не доверяет.

Таким образом, вы должны сообщить iOS / Safari, что вашему промежуточному ЦС действительно доверяет корневой ЦС, которому доверяет Safari.

Таким образом, вам нужно скачать Промежуточный сертификат из вашего ЦС и установить этот Промежуточный сертификат на ваш сервер, чтобы Safari / iOS воспроизводил ваше видео HTTPS (HTTPS = HTTP через SSL).

В случае, если ваш ЦС является ЦС, которому доверяет ЦС, которому доверяет корневой ЦС, вам также необходимо установить второй промежуточный сертификат.Вообще говоря, если уровень доверия вашего ЦС связан N раз, вам необходимо поместить все N сертификатов на ваш сервер.

Чтобы связать сертификаты:

cat certfile1 certfile2 ... certfileN > www.YOUR_DOMAIN.com.chained.crt

например

cat www.example.com.crt intermediary.crt > www.example.com.chained.crt

Затем вы помещаете связанный сертификат в файл конфигурации виртуального сервера (это для nginx):

server {
    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.chained.crt;
    ssl_certificate_key www.example.com.key;
    ...
}

И на всякий случай, если вы молоды и наивны: Порядок цепочки сертификатов SSL имеет значение (для некоторых очень и очень требовательных реализаций SSL)

Порядок должен быть:

<your certificate>
<your cert signer>
<signer for your cert signer>
<etc>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...