【发布时间】:2019-03-28 14:54:17
【问题描述】:
我希望我的来源能够看到 User-Agent 标头。例如:Gecko/20100101 Firefox/62.0 而不是 Amazon CloudFront。
在“行为”选项卡中,我可以将 User-Agent 标头列入白名单,因此它可以正确传递到源,但是现在 CloudFront 会根据 User-Agent 缓存内容,这意味着用户从不同浏览器访问 CloudFront 端点会强制 CloudFront 转到源.
是否有任何方法可以配置 CloudFront 以将一些标头传递给源,但不一定针对它们进行缓存?
编辑:
Accept-Language 标头有类似的问题。我想将它传递给原点,但我不想缓存它。我正在缓存的资产不依赖于语言,但不可缓存的内容取决于 Accept-Language 标头。
【问题讨论】:
-
您两次提到了 CloudFlare,但问题似乎都与 CloudFront 有关。澄清一下?
-
如果您不针对它进行缓存,那么向源发送标头有什么意义?如果我从其他浏览器访问该站点,则源根本看不到任何内容,因为返回了缓存的内容……但是如果可以接受,则源不需要知道我的用户代理,因为它没有使用它修改响应的信息,它不是用于记录或统计目的,因为无论如何,源端只看到一小部分请求。那么...您实际上要解决什么问题?知道这些信息应该会引导我们找到适当的解决方案。
-
我的意思是“CloudFront”抱歉,编辑了我的问题。对,所以我的 Web 应用程序具有可缓存的资产、图像、JS、CSS,以及向用户返回个性化数据的不可缓存的 GET 操作。使用类似 CDN 的服务仍然有巨大的好处。在 Kibana 中存储日志时,出于统计原因,我使用
User-Agent。就我而言,我想知道User-Agent,因为它是不影响内容的附加信息。 CloudFront 使其无法实现。也许我的方法并不理想,但这就是这个应用程序的发展方式,我正在寻找实现这一目标的工具。
标签: http amazon-cloudfront user-agent