如果前端设置了代理 (proxy),并且后端接口的访问路径已经被代理到了另一个地址,那么后端就不需要再设置跨域了。因为跨域是指前端直接访问后端接口时,由于协议、域名、端口号不同而导致的跨域问题,而代理的作用就是将前端的请求代理到另一个地址上,使得前端看到的就是同源的请求。所以,如果前端已经使用了代理,后端就无需再设置跨域了。

例如,在 Vue3 中,你可以使用 proxy 属性来设置代理:

const server = { 
    port: 2811, 
    host: true, 
    open: false, 
    proxy: { 
        '/api': { 
            target: 'http://www.baidu.com/api', 
            changeOrigin: true, 
            rewrite: (p) => p.replace(/^/api/, '') 
        } 
    }, 
};

这样,当你的前端请求 /api/xxx 时,就会被代理到 http://www.baidu.com/api/xxx,而浏览器会认为这是同源请求,从而避免跨域问题。

需要注意的是,代理只能解决前端的跨域问题,如果后端接口本身需要访问其他第三方接口,仍然需要设置跨域。

Vue3 前端代理设置后,后端还需要设置跨域吗?

原文地址: https://www.cveoy.top/t/topic/lAVV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录