我正在AWS上放置一个Laravel(PHP)应用程序,到目前为止一切都还不错。
但是我有一个新要求!
我们需要根据用户的地理位置将默认货币自动解析为用户可用的货币之一。我认为这是在负载均衡器前面设置Amazon Cloudfront的好时机,因为它(如果我理解正确)将传递地理位置标头(among other headers),以确保为用户提供适当的内容。很好,但是我的问题是关于缓存。我了解Laravel或PHP在AWS中的典型用法是:
来源:Using Laravel and AWS: What You Need to Know
那太好了,但是在该图中,它仅将s3静态资产放在了云前-这当然是有道理的,但是我想在负载均衡器之前使用它 来获取我的地理位置标头已通过。
但是我也不一定要有2个Cloudfront-一个用于应用程序,另一个用于s3存储桶。这似乎很昂贵且效率低下-尤其是在应用程序被Cloudfront缓存丢失的情况下。
例如,当我请求主页时,它说:
x缓存:Cloudfront中的小姐
我看到有几种选择,寻找最佳选择的指导。
因此理想情况下,它应该是1,然后是2,然后是3(这实际上是不可行的)。
我是否正在正确考虑?如何让Cloudfront缓存不是PHP生成的非静态资产的请求,这样我就不会浪费Cloudfront在地理定位上的全部潜力。
谢谢!
编辑:
我想我也可以在{strong> one AWS Cloudfront上使用multiple origins-但我仍然想知道更多动态缓存。