【问题标题】:Apigee intermittent CLASSIFICATION_FAILED response codeApigee 间歇性 CLASSIFICATION_FAILED 响应代码
【发布时间】:2014-01-27 09:26:15
【问题描述】:
我使用 Apigee 作为 API 代理。我为 Apigee 和我的后端服务器之间的连接设置了 2 路 ssl。我从 Apigee 代理(HTTP 状态代码为 404)收到间歇性的 CLASSIFICATION_FAILED 响应代码,而其他时候 Apigee 成功地将请求转发到我的后端服务器。当我为 API 打开跟踪时,当我收到 CLASSIFICATION_FAILED 错误时,Apigee 跟踪甚至不会记录错误请求的事务。我们让这个 API 工作了几个月。这个问题最近才出现。有谁知道是什么原因造成的?
谢谢!
【问题讨论】:
标签:
http-status-code-404
apigee
【解决方案1】:
部署代理后,工件实际上会部署到集群中的多个节点。在极少数情况下,一个或多个此类节点无法成功部署代理。在这种情况下,您可能会收到间歇性的 404 响应。
解决这个问题
- 请重新部署您的应用程序
- 检查所有节点上的状态部署。您可以使用以下 API 调用来执行此操作。
curl -v https://api.enterprise.apigee.com/v1/organizations/{your-org-name}/environments/{env-name}/apis/{api-proxy-name}/deployments - u {your-apigee-edge-username}:{your-apigee-edge-password}
响应应如下所示,其中所有节点都应显示已部署状态。
{
“环境”:“产品”,
“名称”:“您的 api 代理名称”,
“组织”:“您的组织名称”,
“修订” : [ {
“配置” : {
“basePath”:“/”,
“脚步” : [ ]
},
“名称”:“62”,
“服务器” : [ {
“状态”:“已部署”,
“类型”:[“消息处理器”],
“uUID”:“e6f83b53-8ab1-4325-bb77-df1bc4df8d59”
}, {
“状态”:“已部署”,
“类型”:[“消息处理器”],
“uUID”:“8a4549fe-ceff-44cf-967f-ab4a500a0479”
}, {
“状态”:“已部署”,
“类型”:[“路由器”],
“uUID”:“3341eda0-fa82-4dcb-bbf1-5cf77dc03efc”
}, {
“状态”:“已部署”,
“类型”:[“路由器”],
“uUID”:“c0b782f2-ccb6-4984-a0c0-0ac1db60a039”
}, {
“状态”:“已部署”,
“类型”:[“路由器”],
“uUID”:“38f80c53-a22b-4427-ab95-a178482daa6b”
}, {
“状态”:“已部署”,
“类型”:[“路由器”],
“uUID”:“28d847a2-5bfd-404d-985d-33d079d691d9”
}, {
“状态”:“已部署”,
“类型”:[“路由器”],
“uUID”:“26467f86-e529-4135-b012-120e274755d3”
}, {
“状态”:“已部署”,
“类型”:[“路由器”],
“uUID”:“807be0c7-dcc7-4be4-9d1e-30d26fa5519c”
}],
“状态”:“已部署”
}]
}
【解决方案2】:
当 Apigee 服务器无法找到您的 apiproxy 并因此无法将其路由到您的后端时,通常会发送 CLASSIFICATION_FAILED 响应。
几个需要检查的指针:
确保您的 api 调用正确,包括您的 apiproxy 中指定的基本路径。
捆绑包中指定的虚拟主机提到您的 api 调用中未指定主机别名。
【解决方案3】:
由于我们都看到了这个错误,我相信他们可能有一些错误
维护或类似的东西。
别担心,不是你;)
编辑:部署也是不可能的,所以并不是说 API 只是一个不起作用的 API。
【解决方案4】:
这是一个部署问题。看起来捆绑包并未部署在所有 MP 上。建议使用 maven/APIGEE Edge Management API 进行部署。这些工具可以更好地了解每个消息处理器的部署状态。