没有HTTP_REFERER的Django + CloudFront缓存

时间:2017-02-15 08:43:01

标签: django amazon-web-services amazon-cloudfront http-referer http-caching

我们使用django 1.8。在后端,使用在elasticbeanstalk和AWS CloudFront上运行的默认授权来缓存CDN级别的应用程序页面。问题是我们希望将尽可能少的http标头列入白名单,以最小化密钥数量并最大化命中率。其中一个标题变化很大,我们希望排除的是HTTP_REFERER。在业务层面上,我们可以通过使用document.referer解析referer并使用ajax调用将其发送到服务器。

问题:csrf登录,注册和其他默认的django身份验证应用程序在https协议网站上使用时需要HTTP_REFERER。

我找到的解决方案之一是将所有auth页面移动到单独的行为并代理所有标头。还有其他方法可以让这样的设置工作吗?

1 个答案:

答案 0 :(得分:1)

我认为没有其他解决方案,而是您提到的解决方案,使用单独的行为。

我们通常使用从前端到后端的rest api调用,因此我们不需要Referer标头。

我们为执行转发/admin/的{​​{1}}添加了额外的行为。