nginx不提供更新的静态文件
从apache切换到nginx,遇到了一些奇怪的事情 1) 假设我的站点的文档根目录中有一个文件yo.txt,其中包含“foo”nginx不提供更新的静态文件,nginx,Nginx,从apache切换到nginx,遇到了一些奇怪的事情 1) 假设我的站点的文档根目录中有一个文件yo.txt,其中包含“foo” curlhttp://localhost/yo.txt =>“foo” 2) 然后我将文件更改为包含“bar” curlhttp://localhost/yo.txt =>“foo”(仍然!) 如果我删除yo.txt,我会得到一个404。如果我删除了所有文本,当我卷曲url时,我正确地得到了一个空文件 在修改文件后,我检查了上次修改的HTTP头,它是正确的,即使文件的
curlhttp://localhost/yo.txt =>“foo”
2) 然后我将文件更改为包含“bar”
curlhttp://localhost/yo.txt =>“foo”
(仍然!)
如果我删除yo.txt,我会得到一个404。如果我删除了所有文本,当我卷曲url时,我正确地得到了一个空文件
在修改文件后,我检查了上次修改的HTTP头,它是正确的,即使文件的内容是陈旧的
在apt获得安装nginx后,我正在使用nginx的标准配置
有什么用?我用的是流浪汉。在
nginx.conf
中将sendfile
设置为off
,修复了发现的问题,例如。“
对我来说,以下几点起了作用:
expires modified 10y;
根据报告:
“Expires”字段中的时间计算为当前时间和指令中指定的时间之和。如果使用修改后的参数(0.7.0、0.6.32),则时间计算为文件修改时间和指令中指定的时间之和
可能的重复应该被标记为正确答案-很高兴我发现了这一点,在禁用
sendfile
之前,我在使用静态文件时遇到了一种非常奇怪的行为。我喜欢神奇的解决方案,但有人知道这是为什么以及如何解决问题的吗?这是一个问题。
expires modified 10y;