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

相关推荐
新中地GIS开发老师27 分钟前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
用户059540174461 小时前
大模型对话记忆持久化踩坑实录:用 Playwright 自动化测了 300 次,终于揪出会话丢失的真凶
前端·css
丙氨酸長鏈1 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen2 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
IT_陈寒2 小时前
Vite热更新失效?你可能漏了这个配置
前端·人工智能·后端
梅孔立3 小时前
两种免费的翻译API调用方式详解 - Edge官方API与个人缓存服务
前端·缓存·edge
Revolution613 小时前
React 组件重新渲染时,到底重新执行了什么
前端·react.js·面试
用户2181697049304 小时前
Flutter(四)Dart语法 空安全 运算符 流程控制
前端
许彰午4 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
用户69371750013844 小时前
AI时代,程序员该往哪走?
前端·后端