记⼀次本地错误排查过程:
项⽬前提背景
前端项⽬下各业务系统及⽤户中⼼分别部署在不同服务器上,为了使⽤同⼀cookie,在⼀台服务器上做nginx转发。接⼝跨域问题,由前端通过webpack-dev-server解决;
问题
排查过程
1. 搜索引擎
---fail
根据错误寻到的答案也并没有得到解决:
(20条消息) 跨域请求:Proxy error: Could not proxy request 时不时的报这个错误,不知道为啥?-前端-CSDN问答
2.不通过ng转发,直接访问后端部署的ip:po rt来访问
---fail
nginx部署前端项目ng在A服务器上,业务系统的后端分别部署在A、B、C服务器上,在本地配置代理时,直接配置后端部署的ip:port,发现部署在A、B上的接⼝同样会出现该问题,但是部署在C服务器上的接⼝访问⾮常顺畅;
<转发时加上跨域请求头
---fail
没有⽣效
4.开启c hr o m e跨域限制
---fail
设置后浏览器是裸奔的,收藏夹、Vue devtools都没法⽤,属于顾此失彼的解决办法
mac上设置新版chrome浏览器跨域 - mackxu - 博客园 (cnblogs)
5. 增加请求头Connection: "keep-alive"
---pass
1. 观察nginx⽇志,当直接测试环境的业务系统时,本地IP发起的请求nginx全部接收到了;但通过本地打开业务系统时,本地IP发起的请求,5
个只有1~3个被ng接收到了,说明在与服务器连接过程中失败了;
2. 查看webpack-dev-server源码,webpack是使⽤http-proxy-middleware来实现接⼝代理的。本地的报错状态码是ECONNRESET,