强制用户的浏览器将文件保存到缓存

时间:2010-09-23 05:41:17

标签: caching static nginx cdn

我的网站是一个在线音乐门户网站,提供在线播放系统。

当用户播放歌曲时,它由我的服务器上的端口8080上的nginx服务器提供服务。

问题是当歌曲播放完毕后,播放器会重复播放歌曲。但每次重播时,它都会再次调用服务器并开始再次下载文件进行播放。

以前我有apache来提供这些文件。那时,用户只需要一次文件,然后从他的缓存中播放重放。 我如何使用nginx实现这一目标

[我没有使用像php这样的任何脚本来提供文件。这只是直接链接。像http://www.myserver.com:8080/music/song1.mp3]

一样

1 个答案:

答案 0 :(得分:0)

查看一些以前的Apache配置和当前的Nginx配置,看看它们是如何设置为在出站文件上放置过期标头的,这将有很大帮助。正如您所知,这不是一种强制执行缓存的简单方法,但听起来“足够好”对您有用。在server{}块中尝试使用Nginx配置块,其内容如下:

location ~* \.(mp3)$ {
    expires max;
}

这应该为您的文件设置一个远期到期日期,并鼓励浏览器将其缓存更长时间。