首页 > 解决方案 > 为什么 WSO2 API Manager 有时会出错:代理错误代理服务器收到来自上游服务器的无效响应?

问题描述

我是WSO2 AM的新手,我有以下问题。

我在发布者上注册了一个 API,并在商店中获得了它。按照组织政策,我创建了一个生成不记名令牌的应用程序,并将我的 API 订阅到该应用程序。

所以我使用这个令牌来执行我的请求,如下所示:

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "Authorization: Bearer 7cc2337d64ca7238ec3534c251f72e34" -d @user_registration_sample_3.json "https://api.myorganization.org/api/dsa/v1.0.0/user_registration"

我测试了它并且它有效。它调用我的后端 API 并将结果正确返回给客户端。问题是在一些请求之后它开始出错并且我停止获取请求。有时有效,有时无效。

当它出错时,我收到此消息:

$ curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" --header "Authorization: Bearer 7cc2337d64ca7238ec3534c251f72e34" -d @user_registration_sample_3.json "https://api.myorganization.org/api/dsa/v1.0.0/user_registration"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   644  100   444  100   200      3      1  0:03:20  0:02:00  0:01:20    64<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Proxy Error</title>
</head><body>
<h1>Proxy Error</h1>
<p>The proxy server received an invalid
response from an upstream server.<br />
The proxy server could not handle the request <em><a href="/api/dsa/v1.0.0/user_registration">POST&nbsp;/api/dsa/v1.0.0/user_registration</a></em>.<p>
Reason: <strong>Error reading from remote server</strong></p></p>
</body></html>

所以我正在尝试进行一些故障排除,但我知道这个问题的可能原因。

我认为问题不在我的后端(如果我直接调用我的后端端点,它工作正常,我从未收到错误,但我对此并不完全确定)所以问题应该出在 API 管理器中。它开始工作,一段时间后它恢复工作。我的后端是一组使用 WSO2 ESB 开发并部署在 WSO2 EI 实例上的 API。

我还认为这可能是与发送给 API 管理器的请求数量有关的问题(也许有一些配置说:“在 5 个请求之后 --> 等待一段时间”。但我认为应该是不是问题,因为我的 API的Tiew Availability设置为Unlimited。此外,我的令牌设置为不过期(令牌的过期时间设置为-1值,表示不过期)。

那么你认为这可能是一个系统性问题吗?(据我所知,WSO2 基础设施部署在集群中,可能集群的某些节点无法正常工作,当损坏的节点收到请求时无法处理)或网络问题?

什么 exaclty 意味着前面的错误消息:什么是代理服务器,什么是上游服务器

标签: jakarta-eewso2wso2esbwso2-amwso2ei

解决方案


推荐阅读