nginx 400 状态码问题探究

  1. header 过大问题,nginx 增加配置 (无效)
client_header_buffer_size 1024k;
large_client_header_buffers 4 1024k;
  1. 修改body体大小 时好时坏

  2. 经过不断测试,发现只要去除掉body里面的一部分括号可以请求成功,body体里有value作为键名,修改value为value1请求成功

以下是 nginx access.log 日志(脱敏)

谷歌正常请求  失败
131.xxx.5.xxx - - [14/Jul/2021:11:06:47 +0800] "POST /url HTTP/1.1" 400 0 "url" "chrome" "-"
postman正常请求  失败
131.xxx.5.xxx - - [14/Jul/2021:11:06:51 +0800] "POST /url HTTP/1.1" 400 0 "-" "PostmanRuntime/7.28.1" "-"
更改键名 value 为 value1 成功
131.xxx.5.xxx - - [14/Jul/2021:11:07:31 +0800] "POST /url HTTP/1.1" 200 39805 "url" "chrome" "-"
更改键名 value 为 value1 成功
131.xxx.5.xxx - - [14/Jul/2021:11:07:56 +0800] "POST /url HTTP/1.1" 200 39805 "-" "PostmanRuntime/7.28.1" "-"
  1. 检查过所有的nginx配置未作匹配拦截规则,防火墙也正常,确实可以通过这种方式成功请求,但是项目接口多的数不清,没有办法把相关的接口逻辑都改掉,还需要继续记录

我...裂开了
。。。。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容