Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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 在没有S3的情况下设置Amazon Cloudfront_Amazon Web Services_Amazon S3_Cdn_Amazon Cloudfront - Fatal编程技术网

Amazon web services 在没有S3的情况下设置Amazon Cloudfront

Amazon web services 在没有S3的情况下设置Amazon Cloudfront,amazon-web-services,amazon-s3,cdn,amazon-cloudfront,Amazon Web Services,Amazon S3,Cdn,Amazon Cloudfront,我想使用Cloudfront从我的静态网站提供图像和CSS。我已经阅读了无数的文章,展示了如何使用AmazonS3进行设置,但我只想在我的主机上托管文件,并使用CloudFront来加速上述文件的交付,我只是不确定如何进行 到目前为止,我已经在CloudFront上用我的源域名和CName创建了一个发行版,并进行了部署 源域名:example.me CName media.example.me 我为我的域添加了CNAME: media.mydomain.com,目标为xxxxxx.cloudfr

我想使用Cloudfront从我的静态网站提供图像和CSS。我已经阅读了无数的文章,展示了如何使用AmazonS3进行设置,但我只想在我的主机上托管文件,并使用CloudFront来加速上述文件的交付,我只是不确定如何进行

到目前为止,我已经在CloudFront上用我的源域名和CName创建了一个发行版,并进行了部署

源域名:example.me CName media.example.me

我为我的域添加了CNAME:

media.mydomain.com,目标为xxxxxx.cloudfront.net

这就是我被困的地方?我是否需要将HTML中的链接更新为该cname,因此如果样式表为,我是否需要将其更改为

以及样式表中../images/image1.jpg到的图像

只是觉得如何链接所有内容有点困惑,这是我第一次真正涉猎使用CDN


谢谢

是的,您将更新对CSS文件的引用以通过CDN域加载。如果CSS中的图像路径不包含域,它们也将通过cloudfront自动加载。

是的,您必须更新HTML中指向CDN的路径。通常,如果您有一个部署/构建过程,则可以在该时间更改此链接(以便开发时可以使用本地文件)


这里还需要处理的另一件重要事情是CSS/JS的版本控制等。您可能会经常更改CSS/JS。当您进行任何更改时,CDN通常需要24小时来反映。(另一个选项是使CDN上的文件无效,但这是明确收费的,不鼓励这样做)。建议的方法是生成一个类似“media.example.me/XYZ/stylesheets/screen.css”的路径,并为每个部署将该XYZ更改为不同的数字(时间戳/历元即可)。通过这种方式,在每次部署中,您只需要使HTML和其他文件无效,因为它们是一个新路径,并且将以全新的方式加载。这种技术通常被称为对URL进行指纹打印。

谢谢您提供的信息。我见过有人使用let-say-screen.css?v=12345等,这是否也可以接受,而不是一个新的文件夹路径?是的,这也可以。您需要在Cloudfront中进行特殊配置以转发查询参数。