Предупреждения о кеше от аудита Chrome на предварительно скомпилированных ресурсах Rails 5 - PullRequest
0 голосов
/ 07 октября 2018

Я провел аудит Lighthouse для своего промежуточного приложения Rails 5 (производство на Heroku), и в разделе « Диагностика » появились некоторые предупреждения.

Все статические активына моей заставке помечен как «Использует неэффективную политику кеширования для статических ресурсов» Хотя они отображаются правильно и имеют отпечатки пальцев.

Их CACHE TTL (время жизни) установлено как « Нет"на данный момент.(Я даже не уверен, что это настоящая проблема ..)

Можно ли это легко исправить?Или, может быть, это настройка для Heroku или моего приложения для изменения?Или, может быть, это нормальное поведение ...

1 Ответ

0 голосов
/ 07 октября 2018

Как настроен ваш кеш?(т.е. config.cache_store?) Убедитесь, что у вас есть хранилище кеша, такое как memcached или Redis.За пределами Heroku можно использовать веб-сервер, такой как Nginx или Apache, для обслуживания статического контента.Здесь, к сожалению, сервер приложений также должен выполнять эту работу.

Чтобы установить соответствующие заголовки HTTP в текущих версиях Rails, следует использовать config.public_file_server.headers.

config.public_file_server.headers = {
  'Cache-Control' => 'public, max-age=15552000',
  'Expires' => 1.year.from_now.to_formatted_s(:rfc822)
}

В старых версияхRails, используйте config.static_cache_control:

config.static_cache_control = 'public, max-age=15552000
...