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

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

  1. target: 指定要代理的目标 URL[1][4]。

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

  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

相关推荐
We་ct15 分钟前
LeetCode 112. 路径总和:两种解法详解
前端·算法·leetcode·typescript
Hello.Reader31 分钟前
Tauri 项目结构前端壳 + Rust 内核,怎么协作、怎么构建、怎么扩展
开发语言·前端·rust
Cache技术分享35 分钟前
331. Java Stream API - Java Stream 实战案例:找出合作最多的作者对
前端·后端
We་ct1 小时前
LeetCode 129. 求根节点到叶节点数字之和:两种解法详解(栈+递归)
前端·算法·leetcode·typescript
Joker Zxc1 小时前
【前端基础(Javascript部分)】1、JavaScript的基础知识(组成、应用、编写方式、注释)
开发语言·前端·javascript
HelloReader1 小时前
Tauri 项目结构前端壳 + Rust 内核,怎么协作、怎么构建、怎么扩展
前端
HelloReader1 小时前
Tauri 前端配置把任何前端框架“正确地”接进 Tauri(含 Vite/Next/Nuxt/Qwik/SvelteKit/Leptos/Trunk)
前端
上单带刀不带妹1 小时前
【Axios 实战】网络图片地址转 File 对象,附跨域解决方案
开发语言·前端·javascript·vue
岱宗夫up1 小时前
【前端基础】HTML + CSS + JavaScript 基础(一)
前端·css·html
SuperEugene1 小时前
前端模块化与 import/export入门:从「乱成一团」到「清晰可维护」
前端·javascript·面试·vue