是什么使expressjs 503?

时间:2019-11-21 18:51:54

标签: express error-code

我将expressjs用于服务器。用户点击了一个代理服务,而该代理服务又打了我的。代理服务告诉我我的给出了503。在这种情况下,我真的不能记录它的发生,因为它似乎表明只是错误了。我所知道的是,该其他服务收到503。我在代码中的任何地方都没有进行设置。我在搜索时找不到任何东西,如果它不是代理服务器,我将不知道503正在发生。在成千上万的请求中,这种情况发生了不到100次。

我不希望有人得到直接的答案,但是,任何线索将不胜感激,任何获得答案的线索都将被标记为答案,并附上我的评论。希望有一些评论可以帮助我为这个问题提供更好的信息!

2 个答案:

答案 0 :(得分:1)

该解决方案与Envoy&Node有关。一位同事建议服务器超时,然后我发现https://github.com/envoyproxy/envoy/issues/1979

就我而言,我添加了以下内容:AWSMobileClient.default().signIn(username: username, password: password) { (signInResult, error) in self.getAWSToken() }

您可以在https://nodejs.org/docs/latest-v10.x/api/http.html#http_server_keepalivetimeout上查看文档。

我不在基础架构方面工作,所以我花了一点时间才意识到这是与实施Envoy的团队中的人员有关的。

当Envoy收到numpy时,它会发回503

答案 1 :(得分:0)

好吧,想到的一件事是服务器过载。如果您要检查的路由正在执行同步任务,并且一次发送大量请求,则可能最终会阻塞服务器。 Express建议您拥有的每个路由处理程序都应该异步,这样即使发生许多请求,服务器也不会被阻塞。

我不知道那是不是你的情况,但是值得一查。