webpack devServer代理跨域get请求成功,post请求失败403 Forbidden

一般情况,这样配置代理跨域即可

devServer: {
  ...
  proxy: {
    '/api': {
      target: "http://192.168.5.102:8080",
      changeOrigin: true
    }
  },
}

但是在后台将允许的跨域地址指定为一个后,上述配置便对post请求不生效了,也就是post请求跨域失败,而get请求成功。
对比get和post请求的不同,发现get的请求头里面没有origin字段,而post请求里面有origin字段。

解决:在webpack的devServer配置

devServer: {
  ...
  proxy: {
    '/api': {
      target: "http://192.168.5.102:8080",
      changeOrigin: true,
      headers: {
        host: "http://192.168.5.102:8080",
        origin: "http://192.168.5.102:8080"
      }
    }
  },
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目1.什么是同源策略? 同源策略(Same origin Policy): 浏览器出于安全方面的考虑,只允许与本...
    FLYSASA阅读 1,745评论 0 6
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    Yaoxue9阅读 1,315评论 0 6
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    HeroXin阅读 847评论 0 4
  • 什么是跨域 跨域,是指浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对JavaScript实...
    他方l阅读 1,075评论 0 2
  • 文|域往 亲爱的同学们,大学四年是人生中最美好的一段时光。在这段时光里,我们会收获很多人生中美好的东西:更高的学历...
    域往阅读 1,118评论 21 37