2016-11-03 11 views
0

私はCDNがプライベートデータをどのように提供するのかを知りたいと思います。私はthis stackoverflow answerに出くわしましたが、これはAmazon CloudFrontの特定の答えと思われます。
CDNにプライベートな画像/ビデオを配信する

人気の例の場合は、問題の問題はFacebookの内部の内容を提供していると言うことができますとおり。したがって、個々のユーザーレベルで、またユーザーレベルのグループでアクセス制御されたものがあります。また、公開されているデータもあります。

サーバー上に存在する人に提供することができるもののすべてのロジック!

答えて

0

私はこれがうまくいくと思います。すべてのリクエストは、まずメインのアプリケーションサーバーに送られます。アクセスが許可されているかどうかを判断した後、CDNサーバーへのリダイレクトまたはアクセス拒否エラーを表示できます。

0

あなたが言うことがそのハードを探しているCDNを指定しない限り、各CDNは、異なった作業。

1

CDNへの最初の要求は、アプリケーションサーバーに移動し、アクセス権のために検証されます。しかし、キャッチがあります - これを覚えておいてください: 最初のリクエストが成功した後、誰でもそのCDN URLで画像にアクセスできるとします。私はFacebookのユーザーが制限付きでアップロードした画像でこれをテストしました。ログアウトしても他の人がCDN URLでアクセスできました。したがって、CDNキャッシュの有効期限まで画像にアクセスできます。これはどのように

+0

からは、サーバー上の「some_img」ルートは唯一の認証後CDNにリダイレクトされます。したがって、実際のURLはフロントエンドでは決して見えません。 – vjjj

+0

CDNの前に認証レイヤーを追加することができます。しかし、それはCDNにアクセスする前に余分な作業であるため、レイテンシを追加します。 CDNは、ユーザーアクセス場所から最も近いデータセンターにデータが格納されるため、高速アクセスに使用されます。 URLがあなたのアプリケーションサーバーを指しているので、検証後1回目の呼び出し時にアプリケーションサーバーファイルシステムにそのイメージを格納し、2回目以降の呼び出し時にそのイメージを格納し、アプリケーションサーバーを検証して読み取ることができるCDNと同様のロジックを構築すること直接バックエンドにアクセスする必要はありません。 –

関連する問題