突然出现的报错:
[HPM] Error occurred while trying to proxy request /api/noauth/oauth2Clients from localhost:8084 to http://xx.xx.xx.xx (ETIMEDOUT) (https://nodejs.org/api/errors.html
根据报错信息
[HPM] Error occurred while trying to proxy request
查找到报错文件地址
/node_modules/http-proxy-middleware/lib/index.js
在网上看到一篇大佬的文章并尝试解决
“原来这个错误是经过加工的,而且真正抛出错误的地方还不是此模块,而是它依赖的另外一个模块(/node_modules/http-proxy)
先不管这些,先将错误信息打印出来看看详细错误。(如下的console.log(err))”
function logError(err, req, res) {
var hostname = (req.headers && req.headers.host) || (req.hostname || req.host); // (websocket) || (node0.10 || node 4/5)
var target = proxyOptions.target.host || proxyOptions.target;
var errReference = 'https://nodejs.org/api/errors.html#errors_common_system_errors'; // link to Node Common Systems Errors page
// ------------> 在此处打印错误日志
console.log(err)
// ------------> 在此处打印错误日志
logger.error('[HPM] Error occurred while trying to proxy request %s from %s to %s (%s) (%s)', req.url, hostname, target, err.code, errReference);
}
最终打印错误信息如下:
跟着步骤走之后发现大佬的错误信息跟我的还是不一样的,如果有跟我不一样的也可查看原文章http://blog.epoos.com/2018/05/21/proxy-error/
大佬 的错误信息
{ Error: getaddrinfo ENOTFOUND localhost localhost:8088
at errnoException (dns.js:50:10)
at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
code: 'ENOTFOUND',
errno: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'localhost',
host: 'localhost',
port: '8088' }
我的打印信息:
查阅了两个报错信息关键词socket hang up 和connect ETIMEDOUT at TCPConnectWrap.afterConnect之后发现是连接超时的问题,是服务器方面崩了(这以后就找后台小哥吧)
总结:
差点就只因为报错信息大体一致,就跟着大佬的修改方案直接改bug了
重头开始一步步做下来之后感觉打开了查找bug的新世界大门,一步一步查找到抛错的地方,然后再console出详细的err
算是比以前只会盲目百度google进步了一些
最后感谢大佬提供的思路http://blog.epoos.com/2018/05/21/proxy-error/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)