您使用的 SSL 证书可能不是由 iOS/Safari 受信任的根证书颁发机构(或 CA)颁发的。
\n\n现在的 SSL 证书很可能是由“中间 CA”颁发的。
\n即,受根 CA 信任的 CA。
\n但是,您的浏览器/操作系统对此一无所知。
\n它只知道您的 SSL 证书是由它不信任的 CA 颁发的。
所以你必须让iOS/Safari知道你的中间CA实际上是被Safari信任的根CA信任的。
\n\n因此,您需要从 CA 下载中间证书,并将该中间证书安装在您的服务器上,以便 Safari/iOS 播放您的 HTTPS 视频(HTTPS = 通过 SSL 的 HTTP)。
\n\n如果您的 CA 是受根 CA 信任的 CA 信任的 CA,则您还需要安装第二个中间证书。一般来说,如果你的CA的信任级别被链接了N次,你需要把所有N个证书放在你的服务器上。
\n\n为了链接您的证书:
\n\ncat certfile1 certfile2 ... certfileN > www.YOUR_DOMAIN.com.chained.crt\nRun Code Online (Sandbox Code Playgroud)\n\n例如
\n\ncat www.example.com.crt intermediary.crt > www.example.com.chained.crt\nRun Code Online (Sandbox Code Playgroud)\n\n然后将链接的证书放入虚拟服务器的配置文件中(这是针对 nginx 的):
\n\nserver {\n listen 443 ssl;\n server_name www.example.com;\n ssl_certificate www.example.com.chained.crt;\n ssl_certificate_key www.example.com.key;\n ...\n}\nRun Code Online (Sandbox Code Playgroud)\n\n以防万一您还年轻并且 na\xc3\xafve:
\n SSL 证书链顺序很重要
\n(对于一些非常非常挑剔的 SSL 实现)
顺序应该是:
\n\n<your certificate>\n<your cert signer>\n<signer for your cert signer>\n<etc>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
2832 次 |
| 最近记录: |