- 91
- 0
下方代码在webpack-dev-server运行后会打开默认浏览器(Chrome)访问localhost:8080/login,这时根据配置代理到http://login.example.com进行登录,该地址登录后会进行302的跳转,下方代码将其set-cookie的值设置到cookieMap中并重定向回localhost:8080,之后调用api相关的请求均能正常带上cookie值。现在想模拟外网环境打开多个浏览器登录多个用户,但如在Firefox中打开localhost:8080由于没有登录所以调用api相关的请求均没有cookie值。如果在Firefox中打开localhost:8080/login则都正常,现在想减少输入,打开localhost:8080后,如何根据下方cookieMap中不存在当前浏览器的cookie值跳转到指定登录页localhost:8080/login,如存在则正常打开localhost:8080。
const cookieMap = {};
module.exports = {
devServer: {
historyApiFallback: true,
hot: true,
inline: true,
progress: true,
openPage: 'login',
proxy: [ {
context: ['/api'],
target: "http://api.example.com",
changeOrigin: true,
onProxyReq(proxyReq, req, res) {
let cookie = cookieMap[req.get('User-Agent')] || '';
proxyReq.setHeader('Cookie', cookie);
}
}, {
context: ['/login'],
target: "http://login.example.com",
changeOrigin: true,
onProxyRes(proxyRes, req, res) {
if(proxyRes.statusCode === 302) {
if(proxyRes.headers['set-cookie']) {
cookieMap[req.get('User-Agent')] = proxyRes.headers['set-cookie'].join(';');
}
proxyRes.headers['Location'] = '/';
}
}
}]
}
} 0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
