Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento-Amazon Cloudfront CDN和缓存_Magento_Amazon S3_Amazon Cloudfront - Fatal编程技术网

Magento-Amazon Cloudfront CDN和缓存

Magento-Amazon Cloudfront CDN和缓存,magento,amazon-s3,amazon-cloudfront,Magento,Amazon S3,Amazon Cloudfront,我试图理解CDN和缓存,但没有找到答案 如何使amazon cdn缓存来自原始服务器的图像缓存图像?有没有办法测试它 我将CDN源映射到我的服务器,因此当它找不到 相反,它寻找的是 您可以在Firebug中看到,所有magento缓存元素都得到了永久移动的301,而静态文件得到了OK 200响应。此外,如果我输入cloudfront URL,它会自动更改为magento缓存元素的URL,但对于静态元素,它仍然是cloudfront URL 如果我晚一点回去,甚至一整天,它都不会使用CDN源代

我试图理解CDN和缓存,但没有找到答案

如何使amazon cdn缓存来自原始服务器的图像缓存图像?有没有办法测试它

我将CDN源映射到我的服务器,因此当它找不到

相反,它寻找的是

您可以在Firebug中看到,所有magento缓存元素都得到了永久移动的301,而静态文件得到了OK 200响应。此外,如果我输入cloudfront URL,它会自动更改为magento缓存元素的URL,但对于静态元素,它仍然是cloudfront URL

如果我晚一点回去,甚至一整天,它都不会使用CDN源代码,这让我相信它不会在Amazon上缓存我的magento缓存的css/js/images


如果我关闭缓存&js/css优化,那么它会向cloudfront cdn发出过多的http请求

当Cloudfront出于某种原因向您的服务器(源服务器)询问文件时,您的服务器没有回答200。您应该检查日志并重写规则,以确定Cloudfront接收301响应的原因


我能想到的一个解释是,当Cloudfront出于某种原因向您的服务器(源服务器)请求文件时,您是否有一条规则,该规则会重定向到www.*,等等。

您的服务器没有回答200。您应该检查日志并重写规则,以确定Cloudfront接收301响应的原因

我能想到的一个解释是,如果你有一条规则可以重定向到www.*等等。

willboudle

我已经用Amazon cloudfront、S3和Amazon实现了完全一样的东西

所以OnePica已经负责S3和Cloudfront的产品图片。但是对于Css&Js,我们已经定制了我们的代码。我们定制
Mage\u Core\u Helper\u Data::mergeFiles()
Mage\u Core\u Model\u Design\u包::getMergedJsUrl($files)
Mage\u Core\u Model\u Design\u包::getMergedCssUrl($files)
方法

当然,您需要将媒体URL更改为cloudfront URL。如果你想让你的文件被gzip压缩,请给我一个建议。然后你必须gzip你的CSS&JS文件,然后上传到S3服务器。 希望这会对你有所帮助

我已经用Amazon cloudfront、S3和Amazon实现了完全一样的东西

所以OnePica已经负责S3和Cloudfront的产品图片。但是对于Css&Js,我们已经定制了我们的代码。我们定制
Mage\u Core\u Helper\u Data::mergeFiles()
Mage\u Core\u Model\u Design\u包::getMergedJsUrl($files)
Mage\u Core\u Model\u Design\u包::getMergedCssUrl($files)
方法

当然,您需要将媒体URL更改为cloudfront URL。如果你想让你的文件被gzip压缩,请给我一个建议。然后你必须gzip你的CSS&JS文件,然后上传到S3服务器。
希望这能对你有所帮助

我也遇到过类似的问题,原因与Gordon Knoppe的答案相似。我有一个包含大量缩略图的页面,我的CloudFront CDN应该提供这些缩略图。奇怪的是,三分之二的人没有,而那些没有的人用Fiddler显示“301-永久重定向”


结果表明,图像的URL路径可能包含大写字母(有些包含,有些不包含),对于那些包含大写字母的图像,它们与重写规则冲突,该规则确保所有URL都以小写字母处理。最终结果是CloudFront请求只缓存在200个回复上,而不是在路径不是小写时返回的301上。一旦URL路径被设置为全小写,一切正常。

我也遇到了类似的问题,原因与Gordon Knoppe的答案没有什么不同。我有一个包含大量缩略图的页面,我的CloudFront CDN应该提供这些缩略图。奇怪的是,三分之二的人没有,而那些没有的人用Fiddler显示“301-永久重定向”


结果表明,图像的URL路径可能包含大写字母(有些包含,有些不包含),对于那些包含大写字母的图像,它们与重写规则冲突,该规则确保所有URL都以小写字母处理。最终结果是CloudFront请求只缓存在200个回复上,而不是在路径不是小写时返回的301上。一旦URL路径设置为全小写,一切正常。

这个www.*重定向就是我问题的根源。非常感谢你的建议。这个www.*重定向是我问题的根源。非常感谢你的建议。