目前我们的技术线采用了 webpack + vue的开发方式,前后端分离的模式。配置如下:
前后端分离本机dev开发 采用webpack-dev-server 启动本地localhost 请求转发到 部署在服务器上的后端代码
请求配置如下 '/lsmp':{ target:'http://10.1.90.49:127', changeOrigin:true, secure: false },
原本是OK的,此时发现一个问题,webpack-dev-server 无法将cookie传递给后端,一些需要用到cookie的接口就失效了。
此时想起抓包工具charles 可以辅助转发请求。
在 charles/tools/map-romote 中配置登录接口转发到 10.1.90.49:127 上。
但是出现了一个问题:charles 无法抓包loacalhost。查官网查到了一些说法,地址如下
https://www.charlesproxy.com/documentation/faqs/localhost-traffic-doesnt-appear-in-charles/
简单来说就是有一些机器的 localhost 无法被charles抓包,需要用
http://localhost.charlesproxy.com/ 或者本机 ip 来替代 localhost。
于是我把 localhost 换成了 本地 ip来请求。发现 wepack-dev-server启动的代码无法用本机ip请求,报错
Invalid Host header
找到资料如下:
https://blog.csdn.net/qq_39705237/article/details/80926684
增加了一处配置,仍然无法使用本机IP访问
找到资料如下:
https://blog.csdn.net/qappleh/article/details/80987816
选择第二种方法,在package.json里增加 --host 0.0.0.0
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js --host 0.0.0.0",
此时再在charles中配置 本机 192.168.10.212 到后端的请求之后。成功将cookie带过去了