nginx正在提供图像,而apache是我们的网络服务器。 请求下面的图像是响应标题。
Accept-Ranges:bytes
Cache-Control:max-age=315360000
Connection:keep-alive
Content-Length:13780
Content-Type:image/jpeg
Date:Thu, 16 Nov 2017 11:44:58 GMT
ETag:"5a0d71ed-35d4"
Expires:Thu, 31 Dec 2037 23:55:55 GMT
Keep-Alive:timeout=60
Last-Modified:Thu, 16 Nov 2017 11:09:33 GMT
Server:nginx
我们使用与php相同的图像名称调整服务器上的图像大小。 当我们拨打http://example.domain.com/imagename.jpg?d=1或http://example.domain.com/imagename.jpg?d=2时,结果是相同的旧图片,最多60秒。之后,它会在上述两个链接上显示新图像。
它看起来像nginx服务器缓存问题。
更新
这是由于在nginx.conf中打开文件缓存设置(open_file_cache) 目前通过以下设置解决
open_file_cache off
虽然我保持这个问题是开放的,因为我不明白nginx如何在从缓存返回该图像时忽略查询字符串到图像。