我在 EC2 实例上有一个 django 服务器,它通过 REST API 为许多客户提供服务。我在 django 中放置了一个中间件,通过在所有响应上自动添加访问控制标头,允许从任何地方进行访问控制。
该中间件经过了充分测试,已在数百台服务器上使用,并且在过去几个月中运行良好。我百分百相信它能正常工作。
昨天,突然所有客户端的 API 都返回了 502 代码。在 Chrome 中查看错误时,我们可以看到"No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'xxx' is therefore not allowed access."
如果不是因为中间件,我预计会看到这种消息。但我知道它有效。几个小时后,问题自行解决,我什么也没做。
所以我的问题是 - 这怎么可能发生?为什么亚马逊 EC2 会突然对我的传出流量进行调整?最重要的是 - 我如何才能在将来防止这种情况发生?我没有在日志中看到任何可以解释这一点的内容(不在 django 中,也不在 nginx 中),而且由于它是自行发生并自行停止的,我怀疑它与亚马逊有关。也许与他们的内部路由或负载平衡有关?
谢谢,