首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用户代理通过Cloudfront为Facebook刮刀

用户代理通过Cloudfront为Facebook刮刀
EN

Server Fault用户
提问于 2016-05-03 14:52:23
回答 1查看 6K关注 0票数 0

这个问题是边缘堆栈溢出/服务器错误,所以请不要反对我,它就在这里:)

我在AWS,nginx上托管了一个服务,它后面有node.js。我有一个cloudfront发行版设置,用于服务来源为服务的请求(能够增长w/o,添加应用服务器)

Amazon建议在设置cloudfront发行版(特别是用户代理)时,从转发的请求中过滤大部分头,他们声称用户代理可能会发生很大的变化,从而降低CDN设置的有效性。

这对于大多数情况下都很有用,除非尝试在facebook上共享页面,在这种情况下,我需要知道用户代理实际上是facebook (facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php))才能返回自定义响应。

为了在这种情况下使用自定义的cloudfront行为,我会为facebook共享创建一个特殊的路径,但我无法控制用户将做什么,共享url可能与“常规”服务器url相同。

有什么建议吗?

EN

回答 1

Server Fault用户

发布于 2020-10-01 01:07:59

现在可以使用原产地请求策略。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/controlling-origin-requests.html

这允许我们将头转发到原点,而无需考虑它们的缓存目的。虽然可以根据需要对策略进行微调,但是有一个名为Managed-UserAgentRefererHeaders的预定义的源请求策略,它使源User-Agent头在原点(或在原点请求Lambda@edge函数中)可见。

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/using-managed-origin-request-policies.html

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/774560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档