nginx 400 状态码问题探究
- header 过大问题,nginx 增加配置 (无效)
client_header_buffer_size 1024k;
large_client_header_buffers 4 1024k;
- 修改body体大小 时好时坏
- 经过不断测试,发现只要去除掉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" "-"
- 检查过所有的nginx配置未作匹配拦截规则,防火墙也正常,确实可以通过这种方式成功请求,但是项目接口多的数不清,没有办法把相关的接口逻辑都改掉,还需要继续记录
