博客
关于我
nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
阅读量:789 次
发布时间:2023-02-15

本文共 455 字,大约阅读时间需要 1 分钟。

遇到一个问题,Nginx完全做反向代理的时候,当有请求来的时候,后端服务器,有时可以很快返回结果,但有时根本没有访问到后端服务器。这种情况让人有些困惑,不知道是哪里出了问题。

查了下发现,Nginx需要手动进行配置,让Nginx支持下划线。原因就能看到了,默认配置是关闭的,当一个请求有带有下划线的时候,Nginx会直接过滤掉这样的请求。因此,在http配置区域里,把这个功能开启,让Nginx支持带有下划线的请求。

源码中可以看到,在ngx_http_parse_header_line()函数中,如果字符是下划线,就会触发问题所在的部分。红色部门就是问题所在,原来是对header name的字符做了限制,默认underscores_in_headers为off,表示如果header name中包含下划线,则忽略掉。

处理办法有两种:

1:配置中http部分增加underscores_in_headers on;

2:用减号-替代下划线符号_,避免这种变态问题。Nginx默认忽略掉下划线可能有些原因。

转载地址:http://blcfk.baihongyu.com/

你可能感兴趣的文章
MySQL的错误:No query specified
查看>>
mysql索引
查看>>
Mysql索引总结
查看>>
Mysql缓存调优的基本知识(附Demo)
查看>>
mysql自增id超大问题查询
查看>>
MySQL设置远程连接
查看>>
mysql还有哪些自带的函数呢?别到处找了,看这个就够了。
查看>>
mysql进阶 with-as 性能调优
查看>>
Mysql连接时报时区错误
查看>>
MYSQL遇到Deadlock found when trying to get lock,解决方案
查看>>
mysql部署错误
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
Mysql锁机制,行锁表锁
查看>>
MySQL集群解决方案(4):负载均衡
查看>>
mysql面试题学校三表查询_mysql三表查询分组后取每组最大值,mysql面试题。
查看>>
Mysql面试题精选
查看>>
MySQL面试题集锦
查看>>
mysql颠覆实战笔记(八)--mysql的自定义异常处理怎么破
查看>>
mysql驱动、durid、mybatis之间的关系
查看>>
mysql驱动支持中文_mysql 驱动包-Go语言中文社区
查看>>