[HPM] Error occurred while trying to proxy request

突然出现的报错:

[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#errors_common_system_errors)

根据报错信息

[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/

你可能感兴趣的:(angular,前端,angular)