Pab*_*blo 2 referer amazon-cloudfront
我正在使用Amazon CloudFront提供一些HDS文件.我有一个原始服务器,它检查HTTP HEADER REFERER,如果不允许它阻止它.
问题是云前端正在删除引用标头,因此它不会转发到源.
告诉亚马逊不要这样做是否可行?
在写下以下答案的几天内,已经向Cloudfront宣布了更改.Cloudfront现在将通过您选择的标头,并可以添加自己的标头.
但是,我在下面提到的大部分内容仍然是正确的.请注意,在公告中,提供了一个选项来转发所有标头,正如我所建议的那样,它将有效地禁用缓存.还有一个转发特定标头的选项,这将导致Cloudfront将对象缓存到完整的转发标头集 - 而不仅仅是uri - 意味着缓存的有效性有所降低,因为Cloudfront没有选择,只能假设包含头可能会修改服务器将为该请求生成的响应.
您的每个CloudFront分配现在都包含要转发到源服务器的标头列表.你有三个选择:
None- 此选项请求原始行为.
All- 此选项转发所有标头并有效禁用边缘的所有缓存.
Whitelist- 此选项使您可以完全控制要转发的标头.列表开始为空,并随着添加更多标题而增长.您可以通过从列表中选择它们来添加常见的HTTP标头.您只需输入名称即可添加"自定义"标题.如果选择该
Whitelist选项,则添加到列表的每个标头都将成为与分发关联的URL的缓存键的一部分.向列表添加标头只会告诉CloudFront标头的值可以影响源服务器返回的内容.http://aws.amazon.com/blogs/aws/enhanced-cloudfront-customization/
Referer在缓存内容的世界中,Cloudfront确实删除了标题以及其他几个不特别有意义的标题 - 或者其存在会导致不合逻辑的后果.
就像饼干,如果Referer:头部被允许保留,使得起源可以看到它和应对它,这将意味着该对象应根据要求加上引用页,这似乎极大地破坏缓冲能力被缓存对象 否则,如果原点确实对不受欢迎的引用者做出反应并发送无缓存响应,那么在第一个合法请求进入之前,这将是好的和好的,其响应将被提供给后续请求者,无论他们的引用者如何,打败目的.
RFC-2616第13节要求缓存返回一个响应,该响应已经"检查了与原始服务器将返回的内容的等效性",这意味着响应基于请求中的所有标头有效.
同样的事情User-agent和原始服务器可能用来修改其响应的其他标头......如果你需要在原点对这些值作出反应,那么用CDN提供它们几乎没有明显的目的.
引用基于页面的测试是一种非常原始的测量,就像许多人使用它们一样,因为标题是如此微不足道的伪造.
如果您正在处理一个您无法控制的平台,这是您需要覆盖的(使用虚拟值,只是为了保持现有系统"满意"),那么原始服务器前面的反向代理可以服务于此目的,Cloudfront使用反向代理作为其来源.
在今天的时事通讯中,亚马逊宣布现在可以使用 cloudfront 转发请求标头。请参阅:http://aws.amazon.com/de/about-aws/whats-new/2014/06/26/amazon-cloudfront-device-detection-geo-targeting-host-header-cors/
| 归档时间: |
|
| 查看次数: |
8328 次 |
| 最近记录: |