デフォルトでは、 Dynamic content Delivery Network (DCDN) によって配布されるコンテンツは公開されています。 ユーザーはURLを使用してコンテンツにアクセスできます。 リソースのホットリンクや不正アクセスを防止する場合は、リファラーホワイトリストとブラックリスト、IPアドレスホワイトリストとブラックリスト、およびURL署名を使用してアクセス制御を管理できます。 URL署名は、URLに署名文字列とタイムスタンプを追加して、アクセス制御を最適化します。
URL署名のしくみ
ポイントオブプレゼンス (POP) は、オリジンサーバーと連携してURL署名を実装し、より安全で信頼性の高い方法でオリジンサーバー上のリソースを保護します。 URL署名には、次のオブジェクトが含まれます。
オリジンサーバー: オリジンサーバーは、署名アルゴリズムや暗号キーなどのURL署名ルールに基づいてURLに署名します。 次に、オリジンサーバーは署名されたURLをクライアントに返します。
クライアント: クライアントは要求を開始し、署名されたURLを認証のためにPOPに送信します。
POP: POPは、署名およびタイムスタンプを含む、要求によって搬送される署名情報を検証する。
オリジンサーバーで、署名アルゴリズムや暗号化キーなどのURL署名ルールを設定する必要があります。
たとえば、
http:// DomainName/timestamp/md5hash/FileName
は、オリジンサーバーによって署名されたURLです。クライアントがURLにアクセスしようとすると、前の図の手順2と手順3に示すように、オリジンサーバーはURL署名ルールに基づいてURLに署名し、署名されたURLをクライアントに返します。
前の図の手順4に示すように、クライアントは署名付きURLを使用してPOPからリソースを要求します。
POPは、署名されたURL内の署名およびタイムスタンプを含む署名情報を検証し、要求が有効かどうかを判定する。
リクエストが認証に失敗した場合、POPはリクエストを拒否します。
要求が認証に合格すると、POPは要求に応答する。
説明要求されたリソースがPOPにキャッシュされていない場合、POPはURLからURL署名パラメーターを削除し、リクエストがオリジンサーバーにリダイレクトされる前にURLを元のバージョンに復元します。 たとえば、URLは
http:// DomainName/FileName
に復元されます。 次に、元のURLを使用してキャッシュキーが生成されるか、リクエストがオリジンサーバーにリダイレクトされます。リクエストが認証を通過した後、URL内の等号 (=) やプラス記号 (+) などの特殊文字がエスケープされます。
URL署名の設定と有効化
URL署名を有効にする前に、オリジンサーバーで、署名アルゴリズムや暗号化キーなどのURL署名ルールが設定されていることを確認してください。
POPの認証ロジックは、オリジンサーバーの認証ロジックと同じである必要があります。
左側のナビゲーションウィンドウで、ドメイン名.
On theドメイン名ページで、管理するドメイン名を見つけて、設定.
ドメイン名の左側のナビゲーションツリーで、アクセス制御.
をクリックし、URL 認証タブをクリックします。
オンにするURL 認証の設定.
では、URL 認証ダイアログボックスで、次の表に従ってパラメーターを設定します。
パラメーター
説明
認証タイプ
DCDNは3つのURL署名タイプをサポートしています。 ビジネス要件に基づいて署名タイプを選択し、オリジンサーバーのリソースを保護できます。 サポートされる署名タイプ:
説明URL署名が失敗した場合、HTTP 403ステータスコードが返されます。 考えられる原因は次のとおりです。
無効なMD5値
例:
X-Tengine-Error: req authによって拒否されました: invalid md5hash=de7bfdc915ced05e17380a149bd760be
無効なタイムスタンプ
例:
X-Tengine-Error: req authによる拒否: expired timestamp=1439469547
プライマリキー
選択した署名タイプの主キーを指定します。 キーの長さは6 ~ 128文字で、英数字を使用できます。
セカンダリキー
選択した署名タイプのセカンダリキーを指定します。 キーの長さは6 ~ 128文字で、英数字を使用できます。 主キーまたは副キーを指定する必要があります。
購入期間
署名付きURLの有効期間を指定します。 署名付きURLが期限切れになる前に、ユーザーはプレゼンスポイント (POP) にアクセスできます。 署名付きURLの有効期限は、タイムスタンプ値と有効期間によって決まります。
単位は秒です。
有効な値: 1 ~ 31536000
デフォルト値: 1800。30分に相当します。
たとえば、署名サーバーが署名付きURLを生成するときのタイムスタンプは2020-08-15 15:00:00 (UTC + 8) で、有効期間の値は1800です。 この場合、署名付きURLは2020年8月15日15:30:00 (UTC + 8) まで有効です。
クリックOK.
URL認証結果の確認
署名ロジックが正しく実装されていることを確認するには、DCDNコンソールでテストを実行し、URLが正しく署名されているかどうかを確認することを推奨します。
では、テスト用に暗号化された URL の生成セクション, configureオリジナル URLそして次のテーブルに従って他の変数。
パラメーター
説明
オリジナル URL
https://www.aliyun.com
などの完全なURLを入力します。認証タイプ
URL署名の設定と有効化 で指定したURL署名タイプを選択します。
認証キー
[URL認証の設定と有効化] で指定したプライマリキーまたはセカンダリキーを入力します。
有効期間
[URL認証の設定と有効化] で指定した署名URLの有効期間を入力します。 単位は秒です。
クリック生成を取得します。認証 URLとタイムスタンプ.
URL署名の無効化
POPでURL署名が無効になっていても、ユーザーリクエストにURL署名パラメーターが含まれている場合、POPはURL署名パラメーターを削除できません。 この場合、リクエストはPOPのキャッシュにヒットすることができず、オリジンサーバーにリダイレクトされます。 これにより、オリジンサーバーのネットワークトラフィックとデータ転送料金が増加します。 URL署名を無効にする場合は、オリジンサーバーとPOPでURL署名が無効になっていることを確認してください。
のURL认证タブで DCDNコンソールで、URL 認証の設定をオフにします。
オリジンサーバーで、URL署名設定を削除します。