全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-23 6 分钟 ✍️ juanwangdev

反向代理配置

开发环境通过 server.proxy 配置反向代理,解决 API 跨域问题。

基础代理配置

JavaScript
export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true
      }
    }
  }
})

代理选项说明

选项说明
target代理目标地址
changeOrigin修改请求头中的 origin
rewrite重写请求路径
secure是否验证 SSL

路径重写

JavaScript
export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, '')
      }
    }
  }
})

请求 /api/users → 代理到 http://localhost:3000/users

注意:changeOrigin 将请求头的 origin 改为目标地址,避免 CORS 问题。

多路径代理

JavaScript
export default defineConfig({
  server: {
    proxy: {
      '/api': {
        target: 'http://localhost:3000',
        changeOrigin: true
      },
      '/ws': {
        target: 'ws://localhost:3001',
        ws: true
      },
      '/static': {
        target: 'http://localhost:8080',
        changeOrigin: true
      }
    }
  }
})

WebSocket 代理

JavaScript
export default defineConfig({
  server: {
    proxy: {
      '/ws': {
        target: 'ws://localhost:3001',
        ws: true,
        changeOrigin: true
      }
    }
  }
})

正则匹配代理

JavaScript
export default defineConfig({
  server: {
    proxy: {
      '^/api/v\\d+': {
        target: 'http://api.example.com',
        changeOrigin: true
      }
    }
  }
})

代理请求流程

text
浏览器 → Vite Server → Proxy → 后端 API
       /api/users           http://backend:3000/users

要点总结

  • server.proxy 配置反向代理
  • changeOrigin 修改请求头 origin
  • rewrite 重写请求路径
  • ws: true 支持 WebSocket 代理

📝 发现内容有误?点击此处直接编辑

← 上一篇 HMR 高级配置
下一篇 → 文件监听与忽略
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库