首页 服务器技术 nginx

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配置未作匹配拦截规则,防火墙也正常,确实可以通过这种方式成功请求,但是项目接口多的数不清,没有办法把相关的接口逻辑都改掉,还需要继续记录

相关推荐