如何调试:客户端获得502,但nginx日志为200

如何调试:客户端获得502,但nginx日志为200,nginx,twilio,webhooks,Nginx,Twilio,Webhooks,我调试webhook时遇到问题。我在nginx反向代理后面有一个节点应用程序,可以处理来自Twilio的webhook请求 当Twilio发布到我的webhook URL时,我看到请求被传递到我的节点应用程序,该应用程序正确地处理它并返回空的200状态。在我的nginx访问日志中,我看到了对Twilio的http200响应(在设置为通知级别的错误日志中没有任何内容)。但是,Twilio报告它在我的调试控制台中收到了一个空的502坏网关响应 我不知道如何继续调试这个。有什么建议吗?您是否尝试过从节

我调试webhook时遇到问题。我在nginx反向代理后面有一个节点应用程序,可以处理来自Twilio的webhook请求

当Twilio发布到我的webhook URL时,我看到请求被传递到我的节点应用程序,该应用程序正确地处理它并返回空的200状态。在我的nginx访问日志中,我看到了对Twilio的http200响应(在设置为通知级别的错误日志中没有任何内容)。但是,Twilio报告它在我的调试控制台中收到了一个空的502坏网关响应


我不知道如何继续调试这个。有什么建议吗?

您是否尝试过从节点发送204 no内容?您是否可以发布接收帖子的节点代码(您的WebBook指向该节点)?

Twilio建议您使用
204无内容
或a
200 OK
,内容类型为text/xml,正文中为空

未能正确响应将导致调试器中出现警告

有效的XML响应:


如《评论》中所述,更多关于文档的信息,请访问:

您是否尝试发回一个有效的XML,我认为这是Twilio所期望的?看看您是否可以使用本文中提到的技术生成一些日志,看起来@AlexBaban成功了。在阅读了你的评论后,我在TwiML文档中找到了你的评论。我还重新阅读了调试控制台中的注释,它解释了Twilio中502错误的含义(基本上是:“当我们不喜欢我们得到的东西时,我们称之为502错误”)。我发现这非常令人困惑,尤其是在页面的下方,它说“服务器在请求回调URL时返回了状态”。哦,好吧。如果你想发表评论作为回答,我会接受。谢谢你的建议,我会尝试一下。节点代码相当长,但处理程序函数的第一行将响应发送到Twilio。该行当前看起来如下:
res.status(200).send()我认为立即执行res.send将结束文章,这意味着它将只包含一个响应代码,因此只有当您将其发送为空204或200时才有效,内容类型为:text/xml,但不是空200
<?xml version="1.0" encoding="UTF-8"?>
<Response/>