vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > 配置vite的proxy及解决post请求403

配置vite的proxy过程以及解决post请求403问题

作者:莫鸣明

文章介绍了Vite项目中本地开发环境通过配置proxy代理实现跨域请求的方法,并解释了生产环境中该配置不生效的情况,通常使用nginx转发或后端配置CORS来解决,文章还指出,最终的请求地址是target加上rewrite重写的地址

1.前言

vite项目,本地开发环境可以通过配置proxy代理实现跨域请求。

但是生产环境,该配置不生效,一般使用 nginx 转发,或者后端配置cors

2.解释

server: {
      port: 9000,
      proxy: { // 本地开发环境通过代理实现跨域,生产环境使用 nginx 转发
        // 正则表达式写法
        '^/api': {
          target: 'http://xxxx/xx', // 后端服务实际地址
          changeOrigin: true, //开启代理
          configure: (proxy, options) => {
          // 解决请求403问题:invalid CORS request。非常重要的代码!!
	      proxy.on('proxyReq', function (proxyReq, req, res) {
		     proxyReq.removeHeader('referer')  // 移除请求头
		       proxyReq.removeHeader('origin') // 移除请求头
		      })
		    },
		  // path是请求方法axios配置的baseUr中去除 协议+域名+端口 剩下的部分。例如http://127.0.0.1:9000/api,这里的path就是/api
          rewrite: (path) => path.replace(/^\/api/, '') // 路径重写
        }
      }
    }

注意:最终的请求地址是 target + (rewrite重写的地址)

3.图解


总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文