tencent cloud

Content Delivery Network

動向とお知らせ
製品アップデート情報
初心者ガイド
製品の説明
製品概要
製品の優位性
ユースケース
基本概念
使用制限
CDN性能説明(サンプリング)
購入ガイド
CDN 購入ガイド
クイックスタート
ゼロから始めるCDNの設定
ドメイン名のアクセス
CNAMEの設定
ドメイン名所有権の検証
ドメイン名アクセスに関するよくあるご質問
設定ガイド
ドメイン名管理
ドメイン名の設定
統計分析
更新予熱
ログサービス
サービスクエリー
オフラインキャッシュ
権限管理
権限設定
コンソールの権限に関する説明
サブアカウントまたはコラボレーターでリアルタイムログをアクティブ化する方法
プラクティスチュートリアル
CDN - CVM
CDN - COS
DNSPodクイック設定CNAME
APIドキュメン
History
Introduction
API Category
Content Management APIs
Real-time Log APIs
Service Query APIs
Data Query APIs
Making API Requests
Log Query APIs
StopCdnDomain
Configuration Management APIs
Obsoleted APIs
Other APIs
Data Types
Error Codes
よくある質問
機能特性に関する問題
課金に関する問題
ドメイン名アクセスの問題
キャッシュ設定の質問
更新とプリフェッチの質問
統計分析に関する問題
HTTPSに関してよくある質問
ノードネットワークの問題
障害に関する質問
障害処理
ステータスコードの説明と推奨する対処方法
異なるノードキャッシュのコンテンツが不一致
CDNにアクセスすると、ウェブページのアクセス速度が遅くなります
トラフィックのヒット率が低い場合
CDNドメイン名に突然、404エラーが発生しました
ページ表示の異常-アクセスクロスドメインエラー
リソースキャッシュは有効化されていません
用語集

設定の説明

PDF
フォーカスモード
フォントサイズ
最終更新日: 2024-12-31 11:13:45

設定シナリオ

通常、CDNを介して配信されるコンテンツはデフォルトでパブリックリソースであり、ユーザーはURLでコンテンツにアクセスできます。悪意のあるユーザーがコンテンツを盗用して利益を得ることを防ぐために、refererブラックリスト/ホワイトリスト、IPブラックリスト/ホワイトリスト、およびIPアクセス回数制限などのアクセス制御ポリシーに加えて、高度なタイムスタンプ認証を設定することで、盗用から防御することもできます。
注意:
タイムスタンプのリンク不正アクセス防止を設定した後、クライアントはリクエストを開始するときに設定に従って署名演算を実行して、サーバーに送信する必要があります。CDNノードはサーバーで署名を検証し、検証が正常に完了した場合にパスさせます。

設定ガイド

設定の確認

CDNコンソールにログインし、左側のナビゲーションメニューバーで【ドメイン管理】を選択して、ドメイン名の右側にある【管理】をクリックすると、ドメイン名設定画面に入ります。【アクセス制御】タブで、認証設定を確認できます。認証設定はデフォルトで無効になっています。



設定の変更

1. 設定を変更する

CDNサービスでは、4種類の認証署名計算モデルをご提供します。上記の【認証計算機】を使用して、各種認証方式と設定後の最終的な成果を確認することもできます。アルゴリズムの詳細説明については、 TypeATypeBTypeCTypeD をご参照ください。



2. 設定を無効にする

認証設定スイッチを切り替えて、この機能を無効にすることができます。スイッチがOFFの場合、既存の設定は実稼働環境では有効になりません。次回ONをクリックすると、ネットワーク全体で設定が有効になる前に、先に設定の2回目の確認が行われます。



3. リージョンの特別な設定

アクセラレーションドメイン名がグローバルアクセラレーション用に設定されており、中国本土内外のアクセラレーションリージョンに異なる認証を設定する場合は、設定の下にある【特別な設定の追加】をクリックして設定できます。


注意:
リージョンの特別な設定が追加された後、現在では削除することはできません。設定をオフにして無効にできます。

設定例

ドメイン名cloud.tencent.comがグローバルアクセラレーションドメイン名の場合、認証設定は下記のようになります。

実際の効果は次のようになります。
1. 中国本土のユーザーが、実際にリソースhttp://cloud.tencent.com/1.jpgにアクセスする場合、直接リクエストを開始できます。
2. 中国本土以外のユーザーが、実際にリソースhttp://cloud.tencent.com/1.jpgにアクセスする場合、リクエストURL形式はhttp://cloud.tencent.com/509301d10da7b862052927ed7a947f43/5e561139/1.jpgとなります。

サンプルコード

各認証の計算方法は、Python Demoを例に、以下に示します。
import requests
import json
import sys
import time
import hashlib

def generate_url(category, ts=None):
url = 'http://www.test.com' # テストドメイン名
path = '/1.txt' # アクセスパス
suffix = '?a=1&b=2' # URLパラメータ
key = 'abc123456789' # 認証キー
now = int(time.mktime(time.strptime(ts, "%Y%m%d%H%M%S")) if ts else time.time()) # 時間が入力された場合、入力されたtsを使用します。入力されていない場合、現在のtsを使用します。
sign_key = 'key' # url署名フィールド
time_key = 't' # url時間フィールド
ttl_format = 10 # 時間の進数、10または16。typeDのみ対応
if category == 'A': #Type A
ts = now
rand_str = '123abc'
sign = hashlib.md5('%s-%s-%s-%s-%s' % (path, ts, rand_str, 0, key)).hexdigest()
request_url = '%s%s?%s=%s' % (url, path, sign_key, '%s-%s-%s-%s' % (ts, rand_str, 0, sign))
print(request_url)
elif category == 'B': #Type B
ts = time.strftime('%Y%m%d%H%M', time.localtime(now))
sign = hashlib.md5('%s%s%s' % (key, ts, path)).hexdigest()
request_url = '%s/%s/%s%s%s' % (url, ts, sign, path, suffix)
print(request_url)
elif category == 'C': #Type C
ts = hex(now)[2:]
sign = hashlib.md5('%s%s%s' % (key, path, ts)).hexdigest()
request_url = '%s/%s/%s%s%s' % (url, sign, ts, path, suffix)
print(request_url)
elif category == 'D': #Type D
ts = now if ttl_format == 10 else hex(now)[2:]
sign = hashlib.md5('%s%s%s' % (key, path, ts)).hexdigest()
request_url = '%s%s?%s=%s&%s=%s' % (url, path, sign_key, sign, time_key, ts)
print(request_url)


if __name__ == '__main__':
if len(sys.argv) == 1:
print('usage: python generate_url.py A 20200501000000')
args = sys.argv[1:]
generate_url(*args)


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック