Angular Cli代理在一个env中工作,但在另一个环境中返回ECONNRESET

第一次在这里提出问题,所以请让我知道,如果我错过了任何最佳做法。

我正在使用一个使用代理的Angular 4应用程序来简化应用程序的前端和后端之间的通信。

代理设置如下:

{ "/api": { "target": "http://localhost:9000", "secure": false }, "/auth": { "target": "http://localhost:9000", "secure": false } } 

在我的主电脑中,当我运行将调用代理的应用程序的一部分,我得到以下错误。

 [HPM] Error occurred while trying to proxy request /auth/google from localhost:4200 to http://localhost:9000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors) 

铬控制台显示504错误。

我用来运行所有服务器的命令

 concurrently \"mongod\" \"ng serve -pc proxy.conf.json --open\" \"tsc -w -p server\" \"nodemon dist/server/app.js\" 

当应用程序正在build立时,我可以看到程序已经build立了代理,但同样的错误仍然发生。

 [1] [HPM] Proxy created: /api/** -> http://localhost:9000 [1] [HPM] Subscribed to http-proxy events: [ 'error', 'close' ] [1] [HPM] Proxy created: /auth/** -> http://localhost:9000 [1] [HPM] Subscribed to http-proxy events: [ 'error', 'close' ] 

但是,当我尝试在另一台具有相同代码,节点设置,networking环境等的计算机上运行代理时,代理正在运行。

我试图通过使两台计算机(节点版本,npm版本,干净的安装所有节点包,甚至从两个计算机上的github干净的应用程序清理)所有应用程序相关的设置相同的错误复制错误,但错误仍然存​​在,但没有另一个。

有人可以提出一些build议,我应该看看我应该怎么做,或者我应该怎么做,以确定这个问题的根本原因? 谢谢!

我迄今为止所做的事情:

  • 重新安装所有npm软件包
  • 重新启动计算机
  • 从git中再次拉出应用程序
  • 独立运行所有命令(针对数据库,服务器和客户端)

nodejs版本:6.10.3

npm版本:5.6.0

根据朋友的build议,我结束了跑步

 sudo lsof -i :9000 

看9000里是否有可能干扰港口的事情。 最终,在节点服务器正在运行的同一端口中正在运行的php监听器很less – 而这些php监听器是错误的罪魁祸首。

所以我跑了以下命令杀死听众和问题,因为解决。

 kill -kill `lsof -t -i tcp:9000` 

不知道为什么节点没有吐出“端口在使用”错误,但现在解决了。

故事的理由:检查你的端口,确保它没有被占用。