- 37
- 0
问题描述
node做代理转发怎么实现在响应服务器挂了之后自行切换代理的服务器,不能用该方案外的其他方案,比如Nginx代理,另起服务器监听重启等方案
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
app.js
let { proxyDo } = require('../middleware/proxy')
proxyDo(app,hosts) //hosts服务器池
proxy.js
const httpProxy = require('http-proxy');
let proxyDo = function(app,hosts){
let proxy = httpProxy.createProxyServer({
changeOrigin: true,
ignorePath: true
});
app.use((req, res) => {
proxy.web(req, res, {
target:hosts[0]
})
})
let cookie = ''
proxy.on('proxyReq', function (proxyReq, req, res) {
req.headers.cookie = cookie + req.headers.cookie
proxyReq._headers = req.headers
console.log("url:" + proxyReq.path);
return req
});
proxy.on('proxyRes', function (proxyRes, req, res) {
var JSESSIONID = proxyRes.headers['set-cookie']
if (JSESSIONID) {
cookie = JSESSIONID;
res.setHeader('Set-Cookie', proxyRes.headers['set-cookie'])
}
});
proxy.on('error', function (proxyReq, req, res) {
console.log('err:'+ proxyReq)
res.send("<h1>404 Not Found</h1>")
});
}
module.exports = { proxyDo }
你期待的结果是什么?实际看到的错误信息又是什么?
期待结果:代理转发的服务器挂了,前台发送请求无法响应或者响应错误的服务器资源,然后node自行更换到另一台配置好的代理服务器,直至没有一台服务器是好的吗,或者其中一台是好的终止
实际结果:代理服务器的host只能配置一次
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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