我们有一个通过 CloudFront 提供服务的网站。本周某个时候,源 EC2 (ECS) 服务器崩溃了,并在短时间内开始返回 502 错误:
502 错误网关 | Nginx
这个问题很快得到解决,但我们有几个用户仍然在他们的浏览器中看到错误。他们都在使用 Google Chrome,而且问题似乎一直存在(就像浏览器/CloudFront 已经缓存了错误)。一位用户通过进入隐身模式解决了该问题,另一位用户每次点击我们新闻通讯中的链接时都会看到该问题。其他一些用户仅通过使用不同的浏览器解决了该问题。
我不确定如何开始调试。另外,我想如果接收到 502 错误,它不会缓存页面内容。此外,我无法从我的最终复制。
要向问题添加额外信息:
我不是在寻找有关如何停止或管理 502 错误网关错误的建议。我们知道为什么这些会发生(ed)这个问题纯粹是在将缓存的 502 错误交付给用户后修复它们的建议。
从目前的反馈来看,我们可以在 10 秒后在 CloudFront 中取消缓存 502 错误。这已启用,但问题仍然存在。
我在这里的感觉是用户的浏览器已经缓存了 503 错误页面并且没有从服务器请求更新。在不让他们清除缓存的情况下,有没有办法将 CloudFront 或他们的浏览器设置为仅在短时间内缓存 502 错误,然后再从服务器请求更新页面?
另外,又想了想。错误是'502 Bad Gateway | Nginx' 这甚至来自 CloudFront 吗?我的服务器可以发送带有 502 错误的长 Cache-Control 标头吗?