【问题标题】:Chrome is not cachig content served by SSLChrome 不是 SSL 提供的缓存内容
【发布时间】:2016-03-25 04:07:30
【问题描述】:

我正在开发一个网站,我在生产环境中设置了以下结构:

NGINX(监听 443,proxy_pass)-> Varnish(监听 80)-> NGINX(监听 8080)。

所以我可以通过 https 缓存内容提供服务。

问题是我注意到 google crome 没有缓存通过 SSL 提供的本地内容(Firefox 会)

当我指向 80 端口时,Firefox 和 Chrome 都会缓存内容,但 chrome 在尝试 443 时不会缓存。

这些是我为测试图像获取的标题:


通过 HTTP 服务

接受范围:字节

年龄:28

缓存控制:max-age=31536000

内容长度:190667

内容类型:图片/jpeg

日期:格林威治标准时间 2015 年 12 月 18 日星期五 12:06:49

ETag:"5673f678-2e8cb"

到期时间:2016 年 12 月 17 日星期六 12:06:49 GMT

最后修改时间:格林威治标准时间 2015 年 12 月 18 日星期五 12:05:12


由 HTTPS 提供服务

接受范围:字节

年龄:74

缓存控制:max-age=31536000

连接:保持活动状态

内容长度:190667

内容类型:图片/jpeg

日期:格林威治标准时间 2015 年 12 月 18 日星期五 12:19:34

ETag:"5673f678-2e8cb"

到期时间:2016 年 12 月 17 日星期六 12:06:49 GMT

最后修改时间:格林威治标准时间 2015 年 12 月 18 日星期五 12:05:12


任何人都知道这是否可能是我的服务器的配置问题,或者可能是 Chrome 处理 SSL 连接的正常方式?

谢谢

【问题讨论】:

  • 你检查过其他 ssl 服务器吗?
  • 你认为这可能是因为 nginx 生成的“Connection:keep-alive”标头吗?
  • 我的意思是,检查别人的服务器,比如google.com。你怎么知道,那个 chrome 没有缓存?
  • 啊!好的..我甚至通过 SSL 尝试使用 stackoverflow 和 chrome 缓存内容。所以它必须与mi conf有关......我想一些关于keep-alive连接头的东西。但是没有办法在nginx中禁用它
  • 我用 chrome 开发工具 (F12) 检查了它没有缓存。

标签: google-chrome ssl nginx https varnish


【解决方案1】:

我终于找到了问题。

我从响应标头中删除了“Vary: cookies”标头,现在 chrome 正在本地缓存通过 HTTPS 提供的内容

【讨论】:

  • 嗨,你能解释一下你是怎么做到的吗,我也遇到了同样的问题。谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-10-31
  • 2020-11-23
  • 1970-01-01
  • 2014-04-28
  • 1970-01-01
  • 2018-06-15
  • 2018-07-19
  • 2011-06-01
相关资源
最近更新 更多