You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vite代理服务器不转发POST请求问题求助

解决Vite代理仅支持GET/HEAD请求的问题

问题原因

你配置的rewriteHost不是Vite代理的有效选项,导致代理规则未正确生效,POST等非GET/HEAD请求没有被代理处理,转而触发了Vite的html-fallback机制(该机制仅处理GET/HEAD请求),因此出现日志提示:

vite:html-fallback Not rewriting POST /test because the method is not GET or HEAD. +1ms

修复后的配置

将代理配置中的错误选项替换为Vite官方支持的参数,确保所有请求方法都能被代理:

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  server: {
    proxy: {
      '/test': {
        target: 'http://jsonplaceholder.typicode.com',
        changeOrigin: true, // 关键:跨域代理时需设置,修改请求头的Host为目标服务器地址
        // 若需要将请求路径中的/test前缀移除,可添加以下rewrite规则(根据实际需求选择)
        // rewrite: (path) => path.replace(/^\/test/, '')
      }
    }
  }
})

关键说明

  • changeOrigin: true:当代理到不同域名的服务器时,必须设置该选项,否则目标服务器可能因跨域策略拒绝请求。
  • 若你的实际目标是https://google.com/test,只需将target值修改为https://google.com即可。
  • 修改配置后重启Vite服务,再执行curl -X POST localhost:3000/test就能看到请求被正确代理到目标地址。

内容的提问来源于stack exchange,提问作者Marcus Dunn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:31:02