すべてのプロダクト
Search
ドキュメントセンター

CDN:Type F URL 署名

最終更新日:Mar 12, 2026

URL 署名機能は、オリジンサーバー上のリソースを不正なダウンロードおよびアクセスから保護します。Alibaba Cloud CDN および では、4 種類の URL 署名が提供されています。このトピックでは、type F signing の原理について説明し、例を示します。

原則

  • Type F 署名付き URL の構造

    アクセス URL 形式:

    http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}
    説明
    • {} は、標準 URL に追加される暗号化された情報を表します。

    • アクセス URL には中国語文字を含めることはできません。

    • URL 署名は、疑問符 (?) を含む URL ではサポートされていません。

    • この例の sign パラメーターと time パラメーターは、デフォルトのシステムパラメーターです。URL 署名の設定 コンソールで、署名パラメーター および タイムスタンプパラメーター をカスタマイズできます。

  • フィールド

    説明

    DomainName

    Alibaba Cloud CDN サイトのドメイン名

    PrivateKey

    16 ~ 32 文字 (大文字、小文字、数字) で構成されるユーザー定義の暗号鍵。

    FileName

    実際のオリジンリクエスト URL。認証中、FileName は / で始まる必要があります。

    timestamp

    署名サーバーが署名付き URL を生成する時間であり、[署名付き URL の有効期間] とともに署名付き URL の有効期限を制御します。 タイムスタンプは、署名サーバーからの UNIX タイムスタンプです (UNIX タイムスタンプは、協定世界時 (UTC) の 1970-01-01 00:00:00 から現在までの合計秒数であり、タイムゾーンに依存しない 10 桁の 10 進整数です)。 URL 署名の設定 コンソールで、タイムスタンプ 形式十進法 (UNIX 時間) または 十六進法 (UNIX 時間) に設定します。

    説明

    URL署名の設定 コンソールで TTL を設定します。設定が完了すると、署名付き URL の有効期限は timestamp + CDN 用に設定された有効期間です。

    md5hash

    MD5 アルゴリズムを使用して計算された文字列で、0-9 の数字と小文字の英字 a-z で構成され、固定長は 32 です。

    md5hash は、次の文字列を使用して計算されます。

    sstring = "Privatekey+URI+timestamp" // URI は、パラメーターを除くユーザーがリクエストしたオブジェクトの相対アドレスです (例: /Filename)
    md5hash = md5sum(sstring)
  • 認証ロジック

    Alibaba Cloud CDN または サーバーがリソースへのアクセスリクエストを受信すると、タイムスタンプ の値に 有効期間 を加算した値が現在時刻より小さいかどうかを確認します。

    • タイムスタンプの値に有効期間を加算した値が現在の時刻より小さい場合、サーバーは URL が期限切れであると判断し、HTTP 403 エラーを返します。

    • timestamp + 署名付き URL の有効期間が現在時刻より大きい場合、sstring メソッドを使用して文字列を構築します (詳細については、表にある sstring の作成方法をご参照ください)。 次に、MD5 アルゴリズムを使用して md5hash 値を計算します。 計算された md5hash 値と、ユーザーのアクセスリクエストに含まれる md5hash 値を比較します。

      • 値が一致する場合、認証は成功し、リクエストされたリソースが返されます。

        説明

        認証成功後、認証パラメーターは URL から削除され、URL は元の形式に戻ります。このプロセスにより、キャッシュヒット率が向上し、back-to-origin トラフィックが削減されます。例:

        • 認証パラメーターを含む URL: http://DomainName/FileName?{sign=<md5hash>&time=<timestamp>}

        • 認証成功後:

          • キャッシュキーの生成に使用される URL: http://DomainName/FileName

          • オリジンフェッチに使用される URL: http://DomainName/FileName

      • 値が一致しない場合、認証は失敗し、サーバーは HTTP 403 エラーを返します。

署名付き URL の例

次の例は、Type F URL 署名が機能する仕組みを示しています。

  • 例の条件

    • オリジンリクエスト:

      http://domain.example.com/test.flv
      説明

      リクエスト URL に中国語文字またはその他の非 ASCII 文字が含まれている場合、まず URL を エンコード する必要があります。次に、エンコードされた URL を使用してハッシュ化する文字列を構築します。例:

      • 元の URL: https://example.com/image/AlibabaCloud.jpg

      • エンコードされた URL: https://example.com/image/%E9%98%BF%E9%87%8C%E4%BA%91.jpg

    • PrivateKey の値: aliyuncdnexp1234

    • タイムスタンプの値: 55CE8100

  • 連結プロセス

    1. この CDN サーバーは、md5hash を計算するためにハッシュ対象の文字列を構築します。

      aliyuncdnexp1234/test.flv55CE8100
    2. この文字列に基づき、CDN サーバーが md5hash 値を計算します。

      md5hash = md5sum(aliyuncdnexp1234/test.flv55CE8100) = a37fa50a5fb8f71214b1e7c95ec7a1bd
    3. 署名付き URL を生成します。

      署名付き URL 形式:

      http://domain.example.com/test.flv?sign=a37fa50a5fb8f71214b1e7c95ec7a1bd&time=55CE8100

クライアントが暗号化された URL を使用してリソースにアクセスする場合、CDN サーバーで計算された md5hash 値とアクセス要求内の md5hash 値の両方が a37fa50a5fb8f71214b1e7c95ec7a1bd であり、かつ署名付き URL がその有効期間内である場合、認証は成功します。それ以外の場合、認証は失敗します。