2009-06-04 138 views

回答

0

不是。你可以通過它運行一個EC2實例和代理。

+1

uhhhhh。沒有。這違背了CDN的目的。 – FlavorScape 2014-03-25 16:58:53

3

我使用Apache RewriteMap重新映射相關鏈接以選擇文件擴展名 - * .jpg,* .gif,* swf,* .fla到Cloudfront。基本上使您的圖像的網址呈現爲您網站的相對鏈接。它不會阻止完全發現S3/cloudfront網址,只會爲小偷增加一層難度。

值得一試,使用上述方法通過htaccess應用熱鏈接限制。我沒有自己嘗試過。

+0

咦?這並不意味着每個圖像請求都必須先到您的服務器,才能進入CloudFront服務器?如果是這樣,是不是沒有擊敗使用CDN的重點? (它不適用於真正的大文件,如視頻,但是用於圖像?) – 2009-09-12 05:20:33

+0

請求會打到您的Web服務器,並且瀏覽器會被告知應該在哪裏獲取文件,但瀏覽器的歷史記錄永遠不會使用實際的URL更新到CDN。 在大多數前端控制器框架中,這與「路由」背後的訣竅基本相同,但在這種情況下,請求絕不會轉發到應用程序服務器,只能轉發到Apache。 – Claude 2009-11-07 22:17:36

+0

@Claude,如果使用的是下載管理器而不是瀏覽器,或者使用了類似curl/wget的東西,那麼重定向是不是透明的,因此可以實現盜鏈? – icarus74 2011-11-04 13:57:24

1

有一個很好的教程here。請務必查看註釋,因爲網站代碼中存在空白字符,導致解決方案無法正常工作。

15

您需要一個存儲桶策略,它既允許來自您的域的推薦人,也拒絕來自您的域的推薦人。我發現,如果你不包括明確的拒絕,那麼圖像可能會被盜鏈 - 很多指南和例子只是給出了允許策略,並沒有提到拒絕部分。

這裏是我的政策,只是改變桶的名字和你-網站自己的細節:

{ 
    "Version": "2008-10-17", 
    "Id": "", 
    "Statement": [ 
    { 
     "Sid": "Allow in my domains", 
     "Effect": "Allow", 
     "Principal": { 
     "AWS": "*" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::BUCKET-NAME/*", 
     "Condition": { 
     "StringLike": { 
      "aws:Referer": [ 
      "http://www.YOUR-WEBSITE.com/*" 
      ] 
     } 
     } 
    }, 
    { 
     "Sid": "Deny access if referer is not my sites", 
     "Effect": "Deny", 
     "Principal": { 
     "AWS": "*" 
     }, 
     "Action": "s3:GetObject", 
     "Resource": "arn:aws:s3:::BUCKET-NAME/*", 
     "Condition": { 
     "StringNotLike": { 
      "aws:Referer": [ 
      "http://www.YOUR-WEBSITE.com/*" 
      ] 
     } 
     } 
    } 
    ] 
} 
1

這是在他們的official docs

更改examplebucket你斗的名字,並example.com到您的域名。

"Version":"2012-10-17", 
"Id":"http referer policy example", 
"Statement":[ 
    { 
    "Sid":"Allow get requests originating from www.example.com and example.com.", 
    "Effect":"Allow", 
    "Principal":"*", 
    "Action":"s3:GetObject", 
    "Resource":"arn:aws:s3:::examplebucket/*", 
    "Condition":{ 
     "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]} 
    } 
    } 
] 
}