6.http-proxy 代理服务器

作用

可以实现反向代理和负载均衡器

需求

本地启动项目 启动的host是a.test.com 但是如何做到访问local.com时,也可以请求到a.test.com的资源呢?

示例

启动vue项目

6.http-proxy 代理服务器_第1张图片

  • 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

你可能感兴趣的:(前端)