代码之家  ›  专栏  ›  技术社区  ›  Maxence

在Rails5预编译资产上缓存来自Chrome audit的警告

  •  0
  • Maxence  · 技术社区  · 6 年前

    我已经对我的staging Rails 5应用程序(Heroku上的产品)运行了Lighthouse审计,并且出现了一些关于我的静态资产的警告 “部分。

    我的启动页上的所有静态资源都标记为 “对静态资产使用低效缓存策略”

    他们的缓存TTL(生存时间)设置为“ “目前(我甚至不确定这是不是真正的问题……)

    有可能很容易解决这个问题吗?或者这可能是Heroku或我的登台应用程序上要更改的设置?或者这是正常的行为。。。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Marcus Ilgner    6 年前

    如何配置缓存(即 config.cache_store ?)确保已设置memcached或Redis之类的缓存存储。在Heroku之外,可以使用Nginx或Apache等web服务器来提供静态内容。不幸的是,在这里,应用服务器也需要做这项工作。

    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