2011-07-12 52 views
7

Tôi đang cố gắng phát video .mp4 trên iPad (trình duyệt Safari) bằng phần tử video HTML 5. Mọi thứ hoạt động tốt bằng HTTP. Tuy nhiên, video sẽ không tải (hoặc phát) khi được truy cập bằng HTTPS. Nếu tôi truy cập cùng một trang web từ trình duyệt Chrome dành cho máy tính để bàn, tôi có thể tải và phát video bằng HTTPS. Có những gợi ý ở đâu đó trên Web về Quicktime và HTTPS không hoạt động trên iPad. Đây có phải là vấn đề tương tự không?Video HTML5 trên IPad Safari sử dụng HTTPS

+0

Tôi tin rằng bài đăng này sẽ giúp trả lời câu hỏi của bạn: http://stackoverflow.com/questions/4660189/cannot-view-quicktime-movies-over-https-in-safari-or-uiwebview – eivers88

Trả lời

2

Chứng chỉ SSL bạn đang sử dụng có thể không được cấp bởi Cơ quan cấp chứng chỉ gốc đáng tin cậy (hoặc CA) của iOS/Safari.

Chứng chỉ SSL hiện nay có nhiều khả năng nhất do "Trung gian CA" cấp.
Tức là, CA được tin cậy bởi CA gốc.
Tuy nhiên, trình duyệt/HĐH của bạn không biết gì về điều đó.
Nó chỉ biết rằng chứng chỉ SSL của bạn được cấp bởi một CA mà nó không tin tưởng.

Vì vậy, bạn phải cho iOS/Safari biết rằng CA trung gian của bạn thực sự được tin cậy bởi CA gốc mà Safari tin tưởng.

Vì vậy, bạn cần tải xuống chứng chỉ trung gian từ CA và cài đặt Chứng chỉ trung gian đó trên máy chủ của mình để Safari/iOS phát video HTTPS của bạn (HTTPS = HTTP qua SSL).

Trong trường hợp CA của bạn là CA đáng tin cậy bởi CA được tin cậy bởi CA gốc, bạn cũng cần cài đặt chứng chỉ trung gian thứ hai. Nói chung, nếu bạn là mức độ tin cậy của CA bị xâu chuỗi N lần, bạn cần phải đặt tất cả các chứng chỉ N trên máy chủ của bạn.

Để chuỗi chứng chỉ của bạn:

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

ví dụ

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

Sau đó, bạn đưa giấy chứng nhận bị xích vào tập tin cấu hình máy chủ ảo (này là dành cho nginx):

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

Và chỉ trong trường hợp bạn còn trẻ và ngây thơ:
SSL Certificate Chain các vấn đề đặt hàng
(đối với một số triển khai SSL rất, rất cầu kỳ)

Thứ tự phải là:

<your certificate> 
<your cert signer> 
<signer for your cert signer> 
<etc> 
Các vấn đề liên quan