使用Express在S3或CDN中使用hask密钥和部署中的同步提供静态文件

时间:2016-10-14 20:59:20

标签: node.js express amazon-s3 deployment amazon-cloudfront

我需要知道如何解决概念问题。

我在AWS中部署了一个Express-Node.js Web应用程序,带有负载均衡器和一些EC2实例(一切正常)。我将我的图像上传到S3,我想将我的JS和CSS文件上传到S3或CDN。

当我部署新版本时,我将添加到我的静态文件(CSS和JS)中的hask密钥查询字符串参数:

<script src="/public/assets/myscript.js?version=20161014"></script>

但我想改成这样的事情:

<script src="https://s3-eu-west-1.amazonaws.com/mybucket/assets/myscript.js?version=20161014"></script>

或更好:

<script src="https://mycustomname.cloudfront.net/assets/myscript.js?version=20161014"></script>

我的问题是:

如何对我的expressjs应用程序进行全新部署并同时上传到S3我对JS和CSS的修改以同步客户端代码和服务器代码?

额外信息:我使用AWS CodeDeploy Deployments使我的服务器代码部署在许多EC2实例中正常运行,并且我安装了PM2用于监控,集群管理和其他内容。

感谢。

1 个答案:

答案 0 :(得分:0)

我认为你需要的是查询字符串缓存,我想这可以帮助: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html