作用
可以实现反向代理和负载均衡器
需求
本地启动项目 启动的host是a.test.com
但是如何做到访问local.com
时,也可以请求到a.test.com
的资源呢?
示例
启动vue项目
- prot: 项目端口号
- allowedHosts 为了限定请求中的host值,以防止黑客构造包来发送请求。只有在列表中的host才能访问
- disableHostCheck 配置是否关闭用于 DNS 重绑定的 HTTP 请求的 HOST 检查
如何访问local.com
时 也能打开 a.test.com呢??
创建server.js
const config = { 'local.com': 'http://a.test.com:8000' }
const http = require('http')
const httpProxy = require("http-proxy")
const proxy = httpProxy.createProxyServer()
const server = http.createServer((req, res)=>{
let host = req.headers['host']
console.log('host', host);
host = host.split(":")[0]
let target = config[host]
proxy.web(req, res, {
target
})
})
server.listen(80)
执行node server
启动代理服务器,即可访问local.com
访问到http://a.test.com:8000