Я проверяю свою оценку YSlow и там говорится: «Есть 52 статических компонента без даты истечения срока давности».Затем в нем перечислены все элементы без заголовка expires.Этот список включает в себя элементы, обслуживаемые через конвейер активов.Например:
https://www.example.com/assets/application-8cdeaac38830e80579862e59915056dd6dbd091e97e875cf3defcfa97e291a47.js https://www.example.com/assets/application-37e35213b3368e1bff2c623ecc354a3c8633407eb9f3b757a34f3d991e7e2a00.css
Это приложение rails 5.2, работающее на Heroku.
Из источников, которые мне удалось найти,Кэширование http должно происходить автоматически для активов, обслуживаемых через конвейер активов.
У меня есть следующее в production.rb:
config.public_file_server.headers = {
'Cache-Control' => 'public, s-maxage=31536000, max-age=15552000',
'Expires' => "#{1.year.from_now.to_formatted_s(:rfc822)}"
}
Это работает для активов, которые я обслуживаю через общую папку.
Однако активы, обслуживаемые через конвейер активов (например, перечисленные выше), имеют срок действия 1 день.
Как настроить конвейер активов для установки более длительного времени истечения?