【问题标题】:How to add expiration headers to Meteor static assets如何将过期标头添加到 Meteor 静态资产
【发布时间】:2013-07-16 23:38:40
【问题描述】:

是否可以向流星中的静态资产添加过期标头?或者一种配置方式?

谢谢!

【问题讨论】:

标签: javascript performance caching meteor


【解决方案1】:

为了在生产环境中使用,建议您始终在客户端和流星服务器之间使用 nginx 代理。

因此,将缓存头添加到静态目录中的文件的最佳方法是将它们添加到 nginx 配置中。

只需使用像 David Weldon 所做的一样的流星 nginx 配置:gist

然后添加以下位置:

location /static {
    proxy_pass http://localhost:3000/static;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
    expires 365d;
    gzip on;
    gzip_min_length  1100;
    gzip_buffers  4 32k;
    gzip_types    text/plain application/x-javascript text/xml text/css;
    gzip_vary on;
}

作为奖励,我还添加了 gzip,如果您不需要,请删除所有 gzip 内容。

如果我们想让它更高级,我们也可以让 nginx 缓存从流星检索到的静态文件。

这样,meteor 只会为每个静态文件接收一次静态请求,之后 nginx 将从它自己的缓存中为它们提供服务,从而减少流星实例的负载。

看起来像这样:gist

一些有助于以流星字体设置 nginx 代理的资源: gentlenode.commeteorpediaStackoverflow

【讨论】:

    猜你喜欢
    • 2010-10-26
    • 2016-01-17
    • 1970-01-01
    • 2010-10-26
    • 2016-12-06
    • 2014-07-19
    • 1970-01-01
    • 2013-03-20
    • 2013-04-04
    相关资源
    最近更新 更多