【问题标题】:HTML5 Video on IPad Safari using HTTPS使用 HTTPS 的 iPad Safari 上的 HTML5 视频
【发布时间】:2011-10-03 21:11:17
【问题描述】:

我正在尝试使用 HTML 5 视频元素在 iPad(Safari 浏览器)上播放 .mp4 视频。使用 HTTP 一切正常。但是,使用 HTTPS 访问时,视频不会加载(或播放)。如果我从桌面 Chrome 浏览器访问同一个网站,我可以使用 HTTPS 加载和播放视频。 Web 上其他地方有关于 Quicktime 和 HTTPS 在 iPad 上不起作用的提示。这是同一个问题吗?

【问题讨论】:

标签: ipad html https safari


【解决方案1】:

您使用的 SSL 证书可能不是由受信任的 iOS/Safari 根证书颁发机构(或 CA)颁发的。

如今的 SSL 证书最有可能由“中间 CA”颁发。
也就是说,根 CA 信任的 CA。
但是,您的浏览器/操作系统对此一无所知。
它只知道您的 SSL 证书是由它不信任的 CA 颁发的。

因此,您必须让 iOS/Safari 知道您的中间 CA 实际上受到 Safari 信任的根 CA 的信任。

因此,您需要从 CA 下载中间证书,并在您的服务器上安装该中间证书,以便 Safari/iOS 播放您的 HTTPS 视频(HTTPS = 通过 SSL 的 HTTP)。

如果您的 CA 是受根 CA 信任的 CA 信任的 CA,您还需要安装第二个中间证书。一般来说,如果你是 CA 的信任级别被链接了 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>

【讨论】:

    猜你喜欢
    • 2012-01-27
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    相关资源
    最近更新 更多