提问人:JavaPro123 提问时间:11/10/2023 最后编辑:Brian Tompsett - 汤莱恩JavaPro123 更新时间:11/11/2023 访问量:20
Cloudflare 始终返回 304
Cloudflare always returns 304
问:
昨天,我通过 Cloudflare 代理的 API 服务器 (api.domain.com/getCards) 的一个特定请求总是返回空白的 304 响应。因此,我继续在谷歌上搜索这意味着什么,结果发现当页面仍本地缓存在浏览器中时,服务器/代理会返回 304。
但是在弄乱了我的 Cloudflare 设置后,我最终为所有请求添加了一个页面规则,以 api.domain.com/* 的缓存状态为 Bypass,因为我读到这基本上会忽略缓存,但这无济于事,事实上,它使情况变得更糟,因为现在我收到 304 对于我向 API 服务器发出的每个请求。
现在的问题是,昨天在收工之前,我删除了我拥有的所有页面规则,并希望早上我的 API 服务器能够再次正常运行(对于我的其他服务),但它仍然会为向它发出的每个请求返回 304。
我用 java 请求确认了 304,该请求给出了响应代码 304 和谷歌开发工具。
所以我已经测试过:
- 打开Cloudflare的开发模式并清除所有缓存,几个小时后没有结果
- 重新添加 API 的服务器 DNS 记录,但未成功
- 在各种浏览器上尝试过,例如 Chrome(隐身)、DuckDuckGo 和 Edge
- 尝试在我的 java 客户端上使用 和 请求标头,这应该强制非缓存响应,但没有工作
Cache-Control
Pragma
Expires
- 手动更改 /getCards 响应的内容,看看 cloudflare 是否会检测到更改并给我一个正确的响应而不是 304,但不幸的是
- 我添加了DNS记录 api2.domain.com(而不是 api.domain.com)以查看它是否仍被缓存,但 api2.domain.com 给出相同的响应(空白304)
更奇怪的是,我的 HTML 站点可以正常返回,并且也在 Cloudflare 的代理后面运行。
这个问题昨天开始发生,当时我将一些在本地运行的相同测试设置发布到 cloudflare 后面的公共 API 服务器,这些设置运行良好。
我几乎 100% 确定 Cloudflare 正在返回 304,我现在最终从 cloudflare 中删除了我的 API 服务器的 DNS 记录并将其移动到我的本地域管理器,但 DNS 记录仅在 2 - 4 小时内更新,所以我稍后会用结果更新我的帖子。
最后,需要明确的是,在这种情况开始发生之前,我已经向 cloudflare 后面的同一台服务器发出了许多类似的请求,这些请求工作正常。
在这一点上,我愿意尝试几乎任何事情来让我的网站再次运行,但不知道下一步该怎么做。 我是不是忽略了什么?
答: 暂无答案
评论