我有一个自动部署到Heroku的github存储库。基本上我想要做的是使用Amazon Cloudfront CDN为存储库中的所有静态文件提供服务。我是否需要将我的github存储库拉到Amazon S3以及如何在我的存储库自动部署到Heroku时实现CDN服务文件..
目前所有的静态资产都是从Heroku提供的,因为目前还没有涉及CDN ..
我想通过CDN提供静态文件,同时仍保留Heroku的自动部署功能......
如何实现上述功能?
我是否需要将静态资产单独上传到S3?
答案 0 :(得分:0)
您需要做的是创建CloudFront Origin,然后更新您网站的DNS,将CNAME记录指向您的CloudFront原点而不是Heroku应用程序。
所以,现在,让我们说你的Heroku应用程序被称为:my-app。
这意味着如果您在Heroku上查看您的应用,您将转到http://my-app.herokuapp.com
如果您随后创建CloudFront原点并将其指向my-app.herokuapp.com,您将获得一个新的CloudFront域。像myid.cloudfront.net
这样的东西接下来你要做的就是更新你网站的DNS(www.my-app.com)并创建一个CNAME记录,以便
www.my-app.com - > my-id.cloudfront.net
这将使您对网站的所有请求首先通过CloudFront - 这样,CloudFront CDN将有机会正确缓存您的静态资产,并在第一次请求后加快速度。
然后,您可以配置CloudFront以设置这些资产的缓存时间。