当前位置:首页 > nginx > 正文内容

会话丢失-NGINX配置之underscores_in_headers

canca2年前 (2023-06-26)nginx1002

1.描述

问题

NGINX代理某个web服务时,单机情况下也出现不停的要求认证的情况

初步分析

去掉NGINX代理,直接访问服务,未出现上述情况;

进一步分析:

查看经过NGINX的请求和直接访问服务请求区别:

cookie中的部分带下划线’_'的认证信息丢失导致,因此出现重复要求认证。

2.解决办法

在NGINX,配置文件http {} 模块中添加如下配置:

underscores_in_headers on;

重启NGINX服务,再次访问服务正常。

3.官方解释

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的配置。


扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/846.html

分享给朋友:

“会话丢失-NGINX配置之underscores_in_headers” 的相关文章

Nginx SSL+tomcat集群,request.getScheme() 取到https正确的协议

Nginx SSL+tomcat集群,request.getScheme() 取到https正确的协议

最近在做一个项目, 架构上使用了 Nginx +tomcat 集群, 且nginx下配置了SSL,tomcat no SSL,项目使用https协议    但是,明明是https url请求,发现 log里面,  Xml代码&nb...

nginx 反向代理时丢失端口的解决方案,443端口变80

今天,配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题。但一旦设置为监听其他端口,就一直跳转不正常;如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端口丢失了。    这里给出一个简短的解决方案,修改nginx的配置文件。一、配置...

nginx变量

nginx变量

与request有关的变量 1,$arg_name 请求行中,名称为name的参数的值。比如,当请求行是"GET /nginx/varindex/?from=rss HTTP/1.1"时,arg_name的值是空字符串...

nginx if判断&&和||写法

今天在写nginx配置的时候需要用到if判断的&&,但是查了一下文档if并不支持&&的写法,现在将方法记录一下①nginx if判断&&(并且)写法,即:采用变量叠加的方法实现set $allowphp ''; i...

Nginx 之 ip_hash 问题

起因公司项目上用到了Asp.Net Core SignalR,由于SignalR需要长链接,所以在进行水平扩展的时,不仅需要Redis做底板,还需要将同一个链接的请求打到同一台机器上;作为一个资深面相百度编程的Coder,第一个想到的当然是nginx的ip_hash了,毕竟在session横行的年代...

详解nginx的root与alias

详解nginx的root与alias

nginx版本: 1.18.01. 结论location命中后如果是root,会把请求url的 ip/域名+port替换为root指定的目录,访问资源如果是alias,会把请求url的ip/域名+port+匹配到的路径替换为alias指定的目录,访问资源2. 详解root2.1 基本用法以请求htt...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。