HTTPS は、暗号化と整合性検証によって安全なデータ伝送を保証します。HTTP/2 は、複数の技術的強化を通じて伝送効率と速度を向上させます。これらの機能を組み合わせることで、視聴者はより速く、よりスムーズで、より安全なエクスペリエンスを得ることができます。
HTTPS の構成
はじめに
HTTPS は、ネットワーク経由の安全な通信のための HTTP の拡張機能です。HTTPS では、通信は Transport Layer Security(TLS)または Secure Sockets Layer(SSL)プロトコルを使用して暗号化されます。ドメイン名に SSL 証明書を構成すると、HTTP および HTTPS アクセスがサポートされます。証明書がドメイン名と一致しないか、無効になっている場合は、HTTP アクセスのみがサポートされます。
メリット
HTTPS は、セッション ID や Cookie などの機密情報を転送中に暗号化します。これにより、機密情報の漏洩によるセキュリティの脅威を防ぎます。
HTTPS は、転送中のデータ整合性をチェックして、DNS ハイジャックや改ざんなどの man-in-the-middle(MITM)攻撃からデータを保護します。
開始する前に
構成に関する注意事項
ドメイン名に対して HTTPS を無効にすると、HTTP アクセスのみがサポートされます。証明書と秘密鍵は使用できなくなります。HTTPS を再度有効にするには、証明書と秘密鍵を再度アップロードします。
証明書の基本情報を表示できます。ただし、秘密鍵は機密性が高いため表示されません。
証明書を変更または編集できます。更新された証明書が有効になるまで約 5 分 かかります。
アップロードされた証明書は秘密鍵と一致する必要があります。一致しない場合、検証は失敗します。
証明書に関する注意事項
ApsaraVideo Live は、SSL Certificates Service を介して購入された証明書とカスタム証明書をサポートしています。
ApsaraVideo Live は NGINX ベースの Tengine Web サーバーを使用しているため、NGINX で読み取ることができる PEM 証明書のみをサポートしています。証明書の内容と秘密鍵は PEM 形式である必要があります。
ApsaraVideo Live は、Server Name Indication(SNI)情報を含む SSL/TLS ハンドシェイクのみをサポートしています。
システムは、パスワードが構成されている秘密鍵をサポートしていません。
手順
ステップ 1: 証明書を購入する
HTTPS を有効にするには、高速化ドメイン名に一致する証明書が必要です。証明書をお持ちでない場合は、SSL Certificates Service ページに移動し、[SSL 証明書の購入] をクリックします。証明書を既にお持ちの場合は、このステップをスキップしてください。
ステップ 2: ドメイン名に対して HTTPS を有効にする
HTTPS を有効にします。
ApsaraVideo Live コンソール にログインします。
左側のナビゲーション ウィンドウで、[ドメイン名] をクリックします。ドメイン管理 ページが表示されます。
HTTPS を構成する取り込みドメインを選択し、[アクション] 列の [ドメイン設定] をクリックします。
[ストリーミング管理] > [HTTPS 設定] を選択し、[HTTPS 証明書] スイッチをオンにします。
証明書をアップロードします。
Alibaba Cloud によって発行された証明書:
[HTTPS 設定] ダイアログボックスで、証明書タイプとして [Certificate Management Service] を選択します。次に、[証明書名] で証明書を選択します。内容と秘密鍵は自動的に入力されます。
カスタム証明書:
[HTTPS設定] ダイアログボックスで、証明書の種類として [カスタム] を選択します。次に、証明書名を入力し、コンテンツと秘密鍵を PEM 形式でアップロードします。この証明書は 証明書管理サービス コンソール に保存されます。
ステップ 3: 証明書の有効性を検証する
設定が完了した後、証明書が有効になるまで約 1 分かかります。その後、HTTPS を使用してリソースにアクセスします。ブラウザのアドレスバーにロックアイコンが表示されている場合は、証明書が有効になっています。
デプロイ手順
はじめに
HTTP/2 は、HTTP の新しいバージョンです。多重化、ヘッダー圧縮、優先順位付け、サーバープッシュなど、より多くの機能をサポートしています。 HTTP/2 は最適化されたパフォーマンスを提供し、HTTP/1.1 セマンティクスと互換性があります。 HTTP/2 は、Google Chrome、Microsoft Edge、Safari、Mozilla Firefox などの主要なブラウザでサポートされています。
メリット
バイナリエンコーディング: 改行区切りのプレーンテキスト HTTP/1.x プロトコルとは異なり、すべての HTTP/2 通信はより小さなメッセージとフレームに分割され、それぞれがバイナリ形式でエンコードされます。 これにより、HTTP/2 の拡張性が向上します。
多重化: HTTP/1.x は、単一ドメインに対するブラウザリクエストの制限により、head-of-line ブロッキングに直面します。 そのため、1 つのリソースを読み込めない場合、その背後にある他のすべてのリソースがブロックされます。 これに対し、HTTP/2 は単一の TCP 接続を使用して複数のデータストリームを同時に送信できるため、リソースが他のリソースをブロックすることはありません。 HTTP/2 は、データをバイナリコードメッセージに分割し、これらのメッセージに番号を付けることでこれを実現するため、クライアントは各バイナリメッセージが属するストリームを認識します。
ヘッダー圧縮: 各 HTTP メッセージには一連のヘッダーが含まれています。 繰り返しヘッダーのオーバーヘッドを削減するために、HTTP/2 は HPACK 圧縮を使用してヘッダーメタデータを圧縮します。 クライアントとサーバーの両方が、ヘッダーフィールドのインデックス付きリストを保持します。 このリストは、以前に送信された値をエンコードするためのリファレンスとして使用されます。
サーバープッシュ: サーバーは、単一のリクエストに対して複数のレスポンスを送信し、クライアントが要求する前にサーバーコンテンツをクライアントに送信できます。
始める前に
HTTP/2 を有効にするには、まず HTTPS を構成し、SSL 証明書が有効になるまで待つ必要があります。
HTTP/2 を有効にした後に HTTPS を無効にすると、HTTP/2 も自動的に無効になります。
手順
- ApsaraVideo Live コンソール にログインします。
左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。ドメイン管理 ページが表示されます。
設定するストリーミングドメインを見つけ、[操作] 列の ドメイン設定 をクリックします。
左側のナビゲーションツリーで、[ストリーミング管理] > [HTTPS 設定] を選択します。
[HTTP/2] セクションで、[HTTP/2] をオンまたはオフにします。
強制リダイレクト
はじめに
ドメイン名に対して HTTPS を有効にしている場合、指定されたリダイレクトタイプに基づいてクライアントリクエストを強制的にリダイレクトして、プロトコルを変更できます。
たとえば、HTTP -> HTTPS を選択した場合、ユーザーが HTTP リクエストを開始すると、サーバーは 301 応答を返し、HTTP リクエストを HTTPS にリダイレクトします。以下に例を示します。

開始する前に
強制リダイレクトを設定するには、まず HTTPS を設定する必要があります。
手順
- ApsaraVideo Live コンソール にログオンします。
左側のナビゲーションウィンドウで、[ドメイン名] をクリックします。ドメイン管理 ページが表示されます。
設定するストリーミングドメインを見つけ、「操作」列の ドメイン設定 をクリックします。
を選択します。
[強制リダイレクト] セクションで、[変更] をクリックします。

リダイレクトタイプ を選択します。

リダイレクトタイプ
説明
デフォルト
HTTP リクエストと HTTPS リクエストの両方がサポートされています。
HTTPS -> HTTP
クライアントから配信拠点 (POP) へのリクエストは、HTTP リクエストとして強制的にリダイレクトされます。
HTTP -> HTTPS
クライアントから POP へのリクエストは、セキュリティを確保するために HTTPS リクエストとして強制的にリダイレクトされます。
[OK] をクリックします。
証明書のフォーマット
このセクションでは、ApsaraVideo Live でサポートされている証明書のフォーマットと、フォーマットを変換する方法について説明します。
ルート CA 証明書
ルート証明書は、ルート認証局 (CA) によって発行された一意の公開鍵証明書です。 Apache、インターネットインフォメーションサービス (IIS)、NGINX、Tomcat など、さまざまなサーバーに実装できます。 ApsaraVideo Live は、NGINX サーバーを使用して証明書を管理します。 証明書情報は .crt ファイルに含まれ、秘密鍵情報は .key ファイルに含まれます。
次のフォーマットで証明書をアップロードしてください。
証明書は
-----BEGIN CERTIFICATE-----で始まり、-----END CERTIFICATE-----で終わる必要があります。最後の行を除くすべての行の長さは 64 文字である必要があります。 最後の行は最大 64 文字まで使用できます。
次の図は、Linux オペレーティングシステムで使用される PEM フォーマットの証明書の例です。

中間 CA 証明書
中間 CA によって発行された証明書には、サーバー証明書と中間証明書が含まれています。 アップロードする前に、サーバー証明書と中間証明書のコンテンツを手動で連結する必要があります。
連結ルール:
最初にサーバー証明書を配置し、次に中間証明書を配置します。
通常、発行機関は連結に関する指示を提供しています。 続行する前に、これらのガイドラインを参照してください。
証明書チェーンのフォーマット:
証明書間に空行は許可されていません。
各証明書は、アップロード用に指定されたフォーマットに従う必要があります。
中間 CA によって発行された証明書チェーンの例を次に示します。
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
RSA 秘密鍵
Rivest-Shamir-Adleman (RSA) 秘密鍵は、次のルールに準拠する必要があります。
openssl genrsa -out privateKey.pem 2048コマンドを実行して、RSA 秘密鍵を生成します。privateKey.pemは秘密鍵ファイルです。秘密鍵は
-----BEGIN RSA PRIVATE KEY-----で始まり、-----END RSA PRIVATE KEY-----で終わる必要があります。 これらの行と一緒にキーをアップロードしてください。最後の行を除くすべての行の長さは 64 文字である必要があります。 最後の行は最大 64 文字まで使用できます。
秘密鍵の例:

秘密鍵が上記のフォーマットと一致せず、-----BEGIN PRIVATE KEY----- で始まり、-----END PRIVATE KEY----- で終わる場合は、次のコマンドを使用して変換します。
openssl rsa -in old_server_key.pem -out new_server_key.pem次に、new_server_key.pem ファイルと証明書をアップロードします。
証明書のフォーマット変換
ApsaraVideo Live は、PEM フォーマットの SSL 証明書のみをサポートしています。 証明書が PEM フォーマットでない場合は、OpenSSL を使用して変換します。
DER から PEM フォーマットへの変換
DER フォーマットは通常 Java で使用されます。
次のコマンドを実行して証明書を変換します。
openssl x509 -inform der -in certificate.cer -out certificate.pem次のコマンドを実行して秘密鍵を変換します。
openssl rsa -inform DER -outform pem -in privatekey.der -out privatekey.pem
P7B から PEM フォーマットへの変換
P7B フォーマットは通常、Windows Server および Tomcat で使用されます。
次のコマンドを実行して証明書を変換します。
openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.ceroutcertificat.cerファイルを開きます。 次に、-----BEGIN CERTIFICATE-----で始まり、-----END CERTIFICATE-----で終わる部分をコピーして、証明書コンテンツとして貼り付けます。P7B 証明書には秘密鍵ファイルは含まれていません。 ApsaraVideo Live コンソールで秘密鍵情報を指定する必要はありません。
PFX から PEM フォーマットへの変換
PFX フォーマットは通常、Windows Server で使用されます。
次のコマンドを実行して証明書を変換します。
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem次のコマンドを実行して秘密鍵を変換します。
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes