webpack devServer proxy 有哪些常用配置项,反向代理时修改 host 要怎么做

webpack devServer 的 proxy 配置项有以下几个常用选项:

  1. target: 指定要代理的目标 URL14。

  2. changeOrigin: 设置为 true 时,会将请求头中的 Host 修改为目标 URL 的主机名45。

  3. pathRewrite: 用于重写请求路径4。例如:

javascript 复制代码
pathRewrite: {
  '^/api': ''
}

这会将 /api 开头的请求路径中的 /api 替换为空字符串。

  1. secure: 设置为 false 可以接受运行在 HTTPS 上且证书无效的后端服务器4。

  2. context: 可以是路径字符串或路径数组,用于配置哪些请求需要被代理1。

要修改 Host 头,有两种方法:

  1. 设置 changeOrigin 为 true:
javascript 复制代码
proxy: {
  '/api': {
    target: 'http://example.com',
    changeOrigin: true
  }
}

这会自动将 Host 头设置为目标 URL 的主机名5。

  1. 使用 headers 选项手动设置:
javascript 复制代码
proxy: {
  '/api': {
    target: 'http://example.com',
    headers: {
      Host: 'example.com'
    }
  }
}

这种方法可以更精确地控制 Host 头的值1。

修改 Host 头的主要目的是解决跨域问题,因为服务器可能会根据 Host 头来判断请求的来源。通过修改 Host 头,可以让服务器认为请求是从允许的域名发出的,从而避免跨域限制5。

Citations:

1 https://webpack.docschina.org/configuration/dev-server/

2 https://blog.csdn.net/qq_42062727/article/details/107681498

3 https://blog.csdn.net/weixin_43870259/article/details/130310293

4 https://www.cnblogs.com/azoux/p/17840835.html

5 https://juejin.cn/post/7281147452979462202

相关推荐
卸任2 小时前
Vibe coding工具使用心得
前端·ai编程
brien93 小时前
为什么模型标称 1M,Google Antigravity 聊到 256K 却突然失忆?我们给它做了个原生行内监控圆环
前端
修炼的dance3 小时前
录屏关键帧间隔多少合适?六档实测,2秒到10秒小了75.6%
前端
Lank_M3 小时前
关键帧从1秒拉到10秒,录屏小87.3%,摄像头小10.8%
前端
补码缩写3 小时前
用 ffprobe 拆录屏,八成字节在 29 个关键帧上
前端
百思不得小李3 小时前
一个复杂的动态表单是如何实现的
前端·设计模式
陈随易3 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
风骏时光牛马3 小时前
前沿视界
前端
kyriewen3 小时前
我扫了 814 个依赖,97 个还敢要 Node 10
前端·javascript·程序员
陈随易4 小时前
3000 万人在用的翻译插件,重写一遍就是一门生意
前端·后端·程序员