Nextjs 缓存和 cloudflare 缓存未与 getStaticProps 重新验证同步

问题描述 投票:0回答:1

我正在尝试在数字海洋上测试我的 nextjs 应用程序,我部署了它,并注意到 getStaticProps 重新验证不起作用,我检查了缓存标头并注意到重新验证参数被分配给 Cache-Control,如下所示:

Cache-Control: s-maxage=10800, stale-while-revalidate

这就是我的目的,告诉 nextjs 每 3 小时重新生成页面以更新数据。但问题是,nextjs 和 cloudflare 不同步。所以现在的状态是:

Cf-Cache-Status: HIT
X-Nextjs-Cache: STALE

这意味着对于 nextjs 来说,页面已过期,但对于 CF 来说则不然,因此虽然 nextjs 可能会在后台重新生成页面,但在 cloudflare 缓存也过期之前,它不会显示新页面。

有办法修复它并同步它们吗?目前该应用程序没有域,因此全部由 digitalocean 管理,但我不确定这是 digitalocean 问题还是下一个 ~ cloudflare 问题,我可以通过两侧的配置来修复。

javascript next.js digital-ocean cloudflare cache-control
1个回答
0
投票

NextJS 不支持边缘运行时的静态重新生成,因此

next-on-pages
也不支持,您可能需要检查此文档:https://github.com/cloudflare/next-on-pages/blob/main/packages/next- on-pages/docs/supported.md#rendering-and-data-fetching

如果您使用的是

getServerSideProps
路由器
,修复方法是更改为 
pages

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.