开发环境可运行,发包后报错(nginx代理出现了问题)

    场景:

        vue项目首次发包...

        后端服务发包完毕,apifox测试接口没问题、前端开发环境连服务也没问题...

        前端项目打包,提前配置nginx,前端发包...

        打开网页,登录接口正常,登录后其他接口报错...

       

查看报错信息:

        后端自定义的报错信息,总体而言就是没有拿到 'token'。

        诡异的是,在浏览器中可以查看到header中确实携带了所谓的 'token'。

        

询问公司大佬:

        你这个后台报错是因为header信息通过nginx没有转发过去。你们的 ‘token’是用的什么单词?

 找到病因:

        项目是新项目,'token' 用的是 'Asset_token'。

解决方案:

        由于nginx默认不支持这个下换线的写法。所以如果想支持,需要添加一条配置。

underscores_in_headers on;

 

 

官方解释:

Syntax: underscores_in_headers on | off;
Default: underscores_in_headers off;
Context: http, server

Enables or disables the use of underscores in client request header fields. When
the use of underscores is disabled, request header fields whose names contain underscores
are marked as invalid and become subject to the ignore_invalid_headers directive.

由官方解释可以看出,默认情况下,underscores_in_headers为off,表示当客户端请求头中带有下划线的字段默认将会被标识为无效字段。

因此,如下两个建议:

尽量不要在请求头中添加带下划线的字段;
使用NGINX代理的时候,添加underscores_in_headers on的配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/19100.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode周赛】2022上半年题目精选集——数学

文章目录 2183. 统计可以被 K 整除的下标对数目⭐⭐⭐⭐⭐思路——数论(一个数乘上另一个数x是k的倍数,x最小是多少?)代码1——统计每个数的因子代码2——统计k的因子 2245. 转角路径的乘积中最多能有几个尾随零思路(因…

【雕爷学编程】Arduino动手做(138)---64位WS2812点阵屏模块2

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

STM32的MAP文件

1. MAP文件是什么?有什么作用? MAP文件是 MDK编译代码后,产生的集程序、数据及IO空间的一种映射列表文件。简单来说就是包括了:各种.c文件、函数、符号等的地址、大小、引用关系等信息。 作用: 用于分析各.c文件占用…

SpringBoot高频面试题

2023最新版(持续更新) SpringBoot高频面试题1. SpringBoot的自动配置原理1. SpringBoot的常见注解有哪些? SpringBoot高频面试题 1. SpringBoot的自动配置原理 前置知识 SpringBoot中,在启动类上的SpringBootApplication注解中的…

java.lang.UnsatisfiedLinkError: no opencv_java410 in java.library.path

-Djava.library.pathhome/zwf/eclipse-workspace/DIPS_YTPC/lib/opencv-410/x64/

机器学习总览

机器学习 1.什么是机器学习?2.机器学习的应用3.怎么实现机器学习?1、NumPy库2.Matplotlib库1.什么是机器学习? 机器学习是使计算机像人类一样学习与行动的科学,并通过观察与现实世界交互的形式向计算机提供数据和信息,从而随着时间的推移以自主的方式改善其学习。通过经验…

分布式负载均衡 Ribbon

一、Ribbon简介 是Netfix发布的负载均衡,Eureka一般配合Ribbon进行使用,基于HTTP和TCP的客户端负载均衡工具。 只有负载均衡的能力,不具有发送请求的能力,要配合服务通信组件。 RestTemplate 针对各种类型的 HTTP 请求都提供了相…

zookeeper单机安装

1 检查环境jdk 参考:https://blog.csdn.net/weixin_44098426/article/details/128446376 2 解压安装包 mkdir -p /opt/zookeeper mv /home/wh/software/zk/apache-zookeeper-3.5.7-bin.tar.gz /opt/zookeeper tar -xzvf apache-zookeeper-3.5.7-bin.tar.gz 3 配置…

掌握这些写简历投简历的“黑魔法”,告别简历已读不回!

“哎,我还能找到工作吗?” 这是最近加我微信的好友,问的最多的一句话。 太卷了 最近加我微信的朋友很多,我都很奇怪,最近也没怎么发文章,怎么会有这么多人加我。 大概就是因为太卷了,之前写的…

[工业互联-14]:机器人操作系统ROS与ROS2是如何提升实时性的?

目录 第1章 简介 第2章 历史 第3章 特点 (1)点对点设计 (2)不依赖编程语言 (3)精简与集成 (4)便于测试 (5)开源 (6)强大的库及…

TexSpire-比markdown更为简洁的文本标记语言,用文字即可生成演示效果

文章目录 一、前言二、语言特点三、举例1、文本框2、表格3、折线图4、思维导图 四、相关资料 一、前言 老实说,本人对于ppt的花里胡哨深恶痛绝,特别是每一次汇报,都需要花费我很多时间去找模板,去设计,去美化内容时&a…

Vue3挂载全局方法及组件中如何使用

文章目录 前言一、在mian.ts(mian.js)中配置全局变量1、如何封装 二、如何调用1.template中调用2.在script标签中如何拿到 前言 在Vue3项目中,需要频繁使用某一个方法。配置到全局感觉会方便很多。 例如:因为很多页面都需要对时…