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
Amazon web services Amazon S3作为cdn从我的服务器复制图像_Amazon Web Services_Amazon S3_Amazon Cloudfront_Cdn - Fatal编程技术网

Amazon web services Amazon S3作为cdn从我的服务器复制图像

Amazon web services Amazon S3作为cdn从我的服务器复制图像,amazon-web-services,amazon-s3,amazon-cloudfront,cdn,Amazon Web Services,Amazon S3,Amazon Cloudfront,Cdn,我在这方面搜索了很多,但我得到的只是与S3协作使用CloudFront CDN 我想做些不同的事情 CloudFront作为CDN工作,其源设置为图像所在的my domain或S3 如果我将其设置为我的域,则存在使用我的托管空间的问题 如果我在S3中使用它,问题是,如何让我的图像在S3中无需太多麻烦?对于CDN,这是自动的,因为每次调用CloudFront都会自动从我的服务器复制映像 CloudFront是否可能与S3一起工作,但如果S3上不存在映像,它会将其从我的服务器复制到S3 或者S3本身

我在这方面搜索了很多,但我得到的只是与S3协作使用CloudFront CDN

我想做些不同的事情

CloudFront作为CDN工作,其源设置为图像所在的my domain或S3

如果我将其设置为我的域,则存在使用我的托管空间的问题

如果我在S3中使用它,问题是,如何让我的图像在S3中无需太多麻烦?对于CDN,这是自动的,因为每次调用CloudFront都会自动从我的服务器复制映像

CloudFront是否可能与S3一起工作,但如果S3上不存在映像,它会将其从我的服务器复制到S3

或者S3本身可能是CDN的最佳解决方案。我在一些网站上看到,他们使用s3 URL托管他们的图像,如下所示:

这怎么可能

如果我将其设置为我的域,则存在使用我的托管空间的问题

比存储空间更昂贵的是让一台服务器准备好处理请求的成本。您的应用程序逻辑知道图像何时更改;是时候把它们放进S3了

如何不费吹灰之力地将图像传送到S3

几乎每种语言都有一个SDK,所以在图像出现时上传它。使用s3cmd sync移动您拥有的图像。然后你可以关掉你的服务器

或者可能是S3本身作为CDN工作

CloudFront可以使用客户提供的dns名称和匹配证书,以便您可以使用带有https的自定义域。它可以集成到AWS WAF中,而S3不能直接集成到AWS WAF中。否则,CDN的行为类似于s3。CloudFront应该提供更好的缓存和端点位置,但在低容量时,您将看到几乎没有功能上的差异。两者都不是写后读一致,但Cloudfront会额外缓存。定价不太可能使CloudFront在大多数应用中更便宜

CloudFront是否可能与S3一起工作,但如果S3上不存在映像,它会将其从我的服务器复制到S3

接近

CloudFront确实有一个功能可以帮助您朝这个方向前进。创建一个以S3为主、服务器为辅的源组。每当CloudFront遇到缓存未命中时,它都会首先检查S3,并且只有在映像不存在时,才会通过将请求发送到服务器来重试。它将缓存响应,但不会记住对象的源-因此,对同一对象的未来缓存未命中的后续请求将始终首先尝试S3


这意味着您的服务器上的某些东西需要负责最终将图像移动到S3-但只要图像存在于某个位置或另一个位置,该图像将由CloudFront提供服务,并缓存在CloudFront的边缘中,最多两个-一个全局/外部,一个负责处理请求的地区/内部机构。

我投票将此问题作为主题外的问题结束,因为这不是一个编程问题,但可能是一个网站管理员问题,或者s3cmd sync的部分似乎很有希望,php是否也有类似的问题?可能我可以与s3同步,然后从服务器上删除图像。这样我也可以使用s3 bucket url是的,没错。