Обслуживание статических файлов с помощью Express в S3 или CDN с помощью ключа hask и синхронизации в deploy

#node.js #express #amazon-s3 #deployment #amazon-cloudfront

#node.js #экспресс #amazon-s3 #развертывание #amazon-cloudfront

Вопрос:

Мне нужно знать, как решить концептуальную проблему.

Я развернул экспресс — Node.js веб-приложение в AWS, с балансировщиком нагрузки и некоторыми экземплярами 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, чтобы обеспечить бесперебойную работу моего серверного кода во многих экземплярах EC2, и у меня установлен PM2 для мониторинга, управления кластерами и других вещей.

Спасибо.

Ответ №1:

я думаю, что вам нужен кэш строк запросов, я думаю, это может помочь: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/QueryStringParameters.html