首页 > 解决方案 > Fetch to Express 返回旧数据

问题描述

当向 node express 服务器运行 fetch 请求时,它会返回旧数据(以前从同一端点返回)。这种情况偶尔会发生,但经常发生。

我已禁用Cache-Controlfetch 标头中的 ,但这不起作用。

Express 服务器通过 PM2 在 Windows Server 上运行,PM2 通过 IIS 中的反向代理(指向本地 pm2 主机,端口 5000)访问,并将 SSL 证书附加到域。

当后端通过我的机器(不是服务器)上的 localhost 托管时,不会发生这种情况。

我的获取请求如下:

fetch(URL, {
     headers: {'Cache-Control':'no-cache'}
}).then(r=>r.json())
  .then(json=>...)

有谁知道是什么原因造成的?我需要更改 Windows Server 或 IIS 中的首选项吗?或者PM2中有什么东西?

标签: javascriptnode.jsexpressiispm2

解决方案


我不得不修改 ISS 反向代理中的 Cache-Control 标头。

我按照@KrysztofKrzeszewski 的建议将其更改为 no-store,现在一切正常。


推荐阅读