原則

ユーザーアクセス用の暗号化された URL の書式

書式 1
http://DomainName/{<md5hash>/<timestamp>}/FileName
書式 2
http://DomainName/FileName{&KEY1=<md5hash>&KEY2=<timestamp>}
  • 中かっこ ({ }) の内容は、標準 URL に基​​づいて追加された暗号化情報を表します。
  • <md5hash> は認証情報の MD5 暗号化文字列です。
  • <timestamp> はプレーンテキストで表現された暗号化されていない文字列です。 固定長は 10 ビットです。 1970 年 1 月 1 日 UTC (協定世界時) からの秒数で、16 進形式で表されます。
  • 書式 1 を使用して URL を暗号化する場合の例 :
    http://cdn.example.com/a37fa50a5fb8f71214b1e7c95ec7a1bd/55CE8100/test.flv

    <md5hash> は a37fa50a5fb8f71214b1e7c95ec7a1bd、<timestamp> は 55CE8100 です。

認証フィールド
  • <md5hash> フィールドの説明 :
    フィールド 説明
    PrivateKey 干渉文字列 異なるクライアントは異なる干渉文字列を使います。
    FileName オリジンフェッチアクセスの実際の URL です。 認証時、パスはスラッシュ (/) で始まる必要があります。
    time ユーザーがオリジンサーバーへアクセスする UNIX 時刻で、16 進形式で表されます。
  • PrivateKey の値 : aliyuncdnexp1234
  • FileName の値 : /test.flv
  • time の値 : 55CE8100
  • したがって "md5hash" 値は次になります。
    md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100) = a37fa50a5fb8f71214b1e7c95ec7a1bd
  • プレーンテキスト : timestamp = 55CE8100

    暗号化された URL は次のように生成されます。

    フォーマット 1:
    http://cdn.example.com/a37fa50a5fb8f71214b1e7c95ec7a1bd/55CE8100/test.flv
    書式 2 :
    http://cdn.example.com/test.flv?KEY1=a37fa50a5fb8f71214b1e7c95ec7a1bd&KEY2=55CE8100

暗号化 URL を使用して高速化ノードにアクセスします。 CDN サーバーはまず暗号化文字列 1 を抽出し、<FILENAME> を取得します。

<FILENAME>
その後、CDN サーバーは URL を認証します。
  1. オリジナル URL の <FileName> 、リクエスト時間および PrivateKey を使用して MD5 を実行します。
  2. 暗号化文字列 2 と暗号化文字列 1 が同じかどうかを比較します。 2 つの文字列が一致しない場合、アクセスリクエストは拒否されます。
  3. CDN サーバーの現在時刻を使用して、アクセス URL 内のプレーンテキストの時刻を引き算し、事前設定済みの時間制限が時間切れになっているかどうかを判断します (デフォルトの時間制限は 1,800 秒 に設定されています)。
  4. 有効期限が 1,800 秒とは、事前設定済みのアクセス時刻から 1,800 秒以内にクライアントソースサーバーにアクセスできない場合は認証が失敗することを意味します。 たとえば、事前設定済みのアクセス時刻が 2020-08-15 15:00:00 の場合、実際のリンクの有効期限は 2020-08-15 15:30:00 です。
  5. 時間差が事前設定済みの時間制限より短い場合、リクエストは有効であり、CDN 高速化ノードは正常に応答します。 時間差が制限より長い場合、 リクエストは拒否され、HTTP 403 エラーが返されます。