Webhook调用失败:DialogFlow v2实现中的URL_REJECTED错误

时间:2019-08-27 09:05:10

标签: google-cloud-platform dialogflow dialogflow-fulfillment

错误说明

在调用DialogFlow v2 detectIntent API时,我们随机收到状态代码为13的内部错误:

  

Webhook呼叫失败。提取失败,没有HTTP状态代码。状态:状态:URL_REJECTED原因:67

此错误似乎是随机发生的。相同的请求可以成功或失败。 有趣的是,该服务自2019年8月23日星期五以来一直在恶化,直到今天几乎所有电话都无法通过。

我们的调查

在DialogFlow或Google上,我们根本找不到关于URL_REJECTED的任何信息。

但是我们在this page上找到了状态码13的含义:

  

内部错误。这意味着基础系统期望的一些不变式已被破坏。该错误代码是为严重错误保留的。

我们还检查了我们是否没有禁止Google IP,我们没有弄乱我们的负载平衡(我们想到了这一点,因为随机失败会有意义)。

Webhook已启动并正在运行,我们可以自己调用它。该问题似乎发生在Google的基础设施中,错误代码13似乎显示出来。

2 个答案:

答案 0 :(得分:6)

(我之所以立即回答,是因为我们在发布问题之前已将其修复。但是我还是发布了,因为它可能对其他人有用)

问题是使用 http 调用了Webhook。 设置 https 解决了该问题。

似乎Google激活了拒绝其服务器中不安全呼叫的webhook策略。 它可能已逐渐部署在他们的集群上,这可以解释其逐步退化的原因。

我们知道我们早就应该迁移到https了,但是在网络上仍然没有提及该政策的应用。

答案 1 :(得分:0)

感谢您发布此信息。我遇到了同样的问题。将我的webhook更改为HTTPS似乎可以解决问题。

相关问题