关于nginx转发请求时,自定义请求头无法找到的问题

问题来源:

我将一个vue项目部署到ngixn上,然后发现后台一直拿不到前端请求的自定义请求头,我的请求头为User_Access_token,可以看是是一个判断用户是否登录的token,但我发现前端通过控制台发下请求头中存在这个我自定义的请求头,但是后端就是找不到。然后我在本地将项目运行发现又可以拿到,百思不得其解。

弄了n久,想到我将项目部署到nginx上,请求都是由nginx代理转发,是不是在这个过程中出现问题,我百度一下发现原来nginx在转发请求的时候,对于自定义的请求头有一定限制,

通过百度发现nginx在处理请求头是有一个变量`underscores_in_headers`,该变量控制是否允许请求头包含下划线“_”,默认不允许,所以我们的自定义请求头就没了

在ngixn 中配置underscores_in_headers on;就可以允许自定义请求头包含下划线。

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;
    underscores_in_headers  on;  //nginx default don't carry youself headers of contain "_",this is open

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值