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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인