解决nginx代理后,前端拿不到后端自定义的header

文章讲述了前端与Nginx对接时,由于跨域问题前端无法获取后端设置的Authorization头。解决方法是在Nginx配置中添加`Access-Control-Expose-Headers`,强调了使用Nginx代理环境下的头信息暴露设置。
摘要由CSDN通过智能技术生成

先说结论,因为前端和nginx对接,所以需要在nginx添加如下配置向前端暴露header

add_header 'Access-Control-Expose-Headers' 'Authorization'

排查过程

1.后端设置了Authorization 的响应头作为token的返回,前后端本地联调没有问题

  response.setHeader("Authorization", Objects.equals(tokenNew, "") ?token:tokenNew);

2. 发布到服务器上,开启nginx代理,结果前端返回的接口拿不到自定义的Header,然后到network里面一看,明明有啊

3.百度了一下,网上说后端设置属性add_header 'Access-Control-Expose-Headers' 'Authorization'

,结果还是不行,为何?突然想到我是用nginx代理的,前端直接访问的nginx,是不是要在nginx中设置

4.果然,如果用nginx代理,需要在nginx中设置,如果不用nginx代理直接在后端响应中设置

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值