CloudFront | 默认缓存键 | 通配符域名

0

【以下的问题经过翻译处理】 根据https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-the-cache-key.html,默认缓存键是CF 分配的名称,但是示例显示它是host header。

哪个是正确的?

我问这个问题是因为通配符域名(*.example.com)解析为CF 分配(CNAME),如果缓存键基于host header,它不会在不同的域之间缓存对象。(例如test.example.com和test2.example.com不会共享缓存的对象)

有没有办法克服这个问题?即我希望缓存键包括URI和实际的CF 分配名称,而不是host header。

谢谢, Roi

profile picture
專家
已提問 5 個月前檢視次數 15 次
1 個回答
0

【以下的回答经过翻译处理】 你好,

我理解你读到的文档[1]中提到默认缓存键是CF分发名称,但实例显示其为host header,你对此有些困惑。但是请注意,实际上默认情况下缓存键并不包含host header。如果想包含host header,必须在“基于选择的请求标头缓存”中选择host header。文档中的引用是指,CloudFront默认域名默认包含在缓存键中,但不包含任何你自定义替代域名。

对于你的问题,除非将host header列入白名单,否则无论使用何种CNAME访问CloudFront内容,缓存键都将相同,因此给出的场景只会出现两个不同的缓存键。

希望这对你有所帮助。

[1] https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/understanding-the-cache-key.html

请注意,我非常重视您的反馈,如果您对此回复感到满意,请考虑点赞。

profile picture
專家
已回答 5 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南