node.js - 503 Service Unavailable - VueJs forntend、Node 后端和 Akamai 的零大小对象
问题描述
我正在调用 Node.js 后端,而这个调用来自 Vue.js 前端。Node 应用程序调用另一个第三方 API 并等待响应。现在,在拨打电话 30-35 秒后,我收到来自节点应用程序的响应,上面写着Service Unavailable - Zero size object
. 但后端调用仍在进行中,将在将近一分钟后完成。此时,错误将显示在前端,用户尝试再次完成操作。
我正在进行的 axios 调用没有明确指定任何超时,因此我认为它不会使调用超时。以下是我的 axios 调用
const options = {
method: 'POST',
url: config.endpoint,
headers:
{
'Content-Type': 'application/json;charset=utf-8',
'Accept': 'application/json',
authorization: 'Bearer ' + token,
},
data: data,
json: true
};
axios(options)
.then(response => convertObjectKeysToLowercasePromise(response.data))
.then(response => {
resolve(response)
})
.catch(function (error) {
logger.error({
message: `Error occured: ${error}`
});
}
我不确定这是否与等待 30 秒后发送响应的服务器有关。这在浏览器和 Postman 中都会发生。
现在我不确定我需要在哪里进行更改以解决此问题。任何见解都将受到高度赞赏。
我在这里找到了一份文件https://community.akamai.com/customers/s/article/Intermittent-503-errors-even-after-increasing-keep-alive-timeout-to-301-as-per-recommandation?language =zh_CN。为此,我们需要将 Keep Alive 时间增加到 303 秒。如何为特定的 API 调用执行此操作?
解决方案
推荐阅读
- c++ - NetCDF-C++:如何构建它?
- python - 在 openAI Gym 中实现关于另一个主播的旋转
- ios - 可折叠部分:[断言] 无法确定 preReloadFirstVisibleRow (0) 的新全局行索引
- oracle - Oracle 插入过程仅插入 1 行而不是批量插入
- kiwi-tcms - Kiwi TCMS 不发送电子邮件
- javascript - 如何将每个 div 链接到 Vue 元素,就好像一个 div 是父级一样?
- c++ - 可以将模板化的 lambda 存储到 std::function 中吗?
- javascript - 无论如何使用外部 Javascript/jquery 文件检测 Shopify 中的变体变化?
- typescript - 具有接口类型的 TypeScript 索引签名
- c# - Microsoft Graph - 搜索 OneDrive