CNode

不间断的提示502 Bad Gateway是什么意思呢?

问答
Zzhujunel发布于9 年前最后回复9 年前7 回复7279 浏览0 收藏

项目用node+express+ejs写的h5页面,所有的数据都是通过调取java第三方接口的数据,然后用ejs渲染,放到测试环境测试的时候不间断的服务挂掉、报错"502 Bad Gat eway"nginx错误,请问如何解决呢?是获取接口的数据的问题吗? 例如获取接口的代码: router.get('/:id',function(req,res,next){ const params = { id:req.params.id } request({ url: ${API}course/detail, method: req.method, json: true, headers: { "content-type": "application/json", }, qs: params }, function(error, response, body) { if (!error && response.statusCode == 200) { res.render('learn',body) } }); })

查看回复

回复 (7)

R
rrbe#1·9 年前

服务怎么起的,有没有用 pm2 之类的守护进程

Z
zhujunel#2·9 年前
引用 rrbe服务怎么起的,有没有用 pm2 之类的守护进程

@rrbe 还没有,打算弄个pm2,现在是不确定我这个请求接口的方式对不对,还有没有更优的

Z
zhujunel#3·9 年前
引用 rrbe服务怎么起的,有没有用 pm2 之类的守护进程

@rrbe 加了pm2,自动重启了,错误代码是这样 at new StatusCodeError (/apps/srv/instance/nodejs/node_modules/request-promise-core/lib/errors.js:32:15) at Request.plumbing.callback (/apps/srv/instance/nodejs/node_modules/request-promise-core/lib/plumbing.js:104:33) at Request.RP$callback [as _callback] (/apps/srv/instance/nodejs/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/apps/srv/instance/nodejs/node_modules/request/request.js:186:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request. (/apps/srv/instance/nodejs/node_modules/request/request.js:1163:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage. (/apps/srv/instance/nodejs/node_modules/request/request.js:1085:12) at IncomingMessage.g (events.js:292:16) at emitNone (events.js:91:20) at IncomingMessage.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickDomainCallback (internal/process/next_tick.js:128:9)

Z
zhujunel#4·9 年前
引用 coordcn@zhujunel 有可能是域名解析不稳定,有可能是第三方不稳定。 nginx配置文件加个resolver试试。

@coordcn 加个pm2后,发邮件报了个这样的错误 at new StatusCodeError (/apps/srv/instance/nodejs/node_modules/request-promise-core/lib/errors.js:32:15) at Request.plumbing.callback (/apps/srv/instance/nodejs/node_modules/request-promise-core/lib/plumbing.js:104:33) at Request.RP$callback [as _callback] (/apps/srv/instance/nodejs/node_modules/request-promise-core/lib/plumbing.js:46:31) at Request.self.callback (/apps/srv/instance/nodejs/node_modules/request/request.js:186:22) at emitTwo (events.js:106:13) at Request.emit (events.js:191:7) at Request. (/apps/srv/instance/nodejs/node_modules/request/request.js:1163:10) at emitOne (events.js:96:13) at Request.emit (events.js:188:7) at IncomingMessage. (/apps/srv/instance/nodejs/node_modules/request/request.js:1085:12) at IncomingMessage.g (events.js:292:16) at emitNone (events.js:91:20) at IncomingMessage.emit (events.js:185:7) at endReadableNT (_stream_readable.js:974:12) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickDomainCallback (internal/process/next_tick.js:128:9)

F
fightAndLearn#5·9 年前

@zhujunel 具体问题可以看具体的nginx日志,有可能是你调的api执行时间过长,返回超时,第三方接口调用时间是不确定的

C
coordcn#6·9 年前
引用 zhujunel@rrbe 还没有,打算弄个pm2,现在是不确定我这个请求接口的方式对不对,还有没有更优的

@zhujunel

有可能是域名解析不稳定,有可能是第三方不稳定。

nginx配置文件加个resolver试试。

R
rrbe#7·9 年前
引用 zhujunel@coordcn 加个pm2后,发邮件报了个这样的错误 at new StatusCodeError (/apps/srv/instance/nodejs/node modules/reque...

@zhujunel 你这都是第三方 node 模块或者 node 本身报的错误啊,只提示 StatusCodeError 错误 stack 贴完啊,这点信息不够啊

参与回复
登录后即可参与回复。登录