nginx 400错误,也称为“Bad Request”错误,表示客户端发送的请求有语法错误或不能被服务器理解。当nginx无法解析客户端发送的请求时,就会返回400错误。 2. nginx 400错误的常见原因 请求行过长:HTTP请求行(包括方法、URI和HTTP版本)超过了服务器配置的限制。 无效的HTTP方法:客户端发送了nginx不支持的HTTP方法。
1、400 bad request错误的原因和解决办法 今天有人汇报nginx的HTTP400错误,而且这个HTTP400错误并不是每次都会出现的,查了一下发现nginx 400错误是由于request header过大,通常是由于cookie中写入了较长的字符串所引起的。 解决方法是不要在cookie里记录过多数据,如果实在需要的话可以考虑调整在nginx.conf中的 client...
进一步分析log发现其实对某些地区的用户请求,这个比例甚至超过了10%,于是花时间跟进了一下,最终发现源于部分机型客户端发出的HTTP请求格式不规范导致,这里记录一下分析过程、原因以及最终解决方案。 问题分析 常见nginx 400原因 搜寻网上资料,发现一般可能有以下几个原因会导致nginx响应400: request_uri 过长超过nginx配置...
最近通过Nginx反向代理一个网站,配置https,在浏览器输入:https://xxxx.test.com访问出现了“400 Bad Request The plain HTTP request was sent to HTTPS port”错误,如下图: 出现这种报错的主要原因是: 因为HTTP请求被发送到HTTPS端口,这种报错多出现在Nginx既处理HTTP请求又处理HTTPS请求的+是多次重定向导致的情况...
Bad Request (Invalid Hostname)的错误, 因为是已经成功的配置,所以判定可能是哪里的限制设置有问题,最后在官方网站找到解决办法: 设置读取客户端请求超大请求的缓冲最大number(数量)和每块缓冲的size(容量)。 HTTP请求行的长度不能超过一块缓冲的容量,否则nginx返回错误414 (Request-URI Too Large)到客户端。 每个...
400 Bad Request是一种HTTP错误状态码。HTTP/1.1对400 Bad Request的定义主要是:1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。1. 一般导致400异常的场景 一般使用Nginx在以下场景会报400 Bad Request: ...
400 Bad Request 是一种 HTTP 错误状态码。HTTP/1.1 对 400 Bad Request的定义主要是: 语义有误,当前请求无法被服务器理解 请求参数有误 丢包导致异常 Google 了一番,很多说是请求头或 cookie 过大引起的,调整 client_header_buffer_size 与 large_client_header_buffers 大小,但是并没有解决问题。经过排查发现...
nginx 400 Bad request是request header过大所引起,request过大,通常是由于cookie中写入了较大的值所引起。所幸在nginx中是有办法解决这个问题:在nginx.conf中,将client_header_buffer_size和large_client_header_buffers都调大,可缓解此问题。client_header_buffer_size:默认是1k,所以header小于1k的...
因为请求接口输出的数据中有些过大的无用数据导致请求响应body过大导致分包发送影响了request_time。 3、400 bad request错误的原因和解决办法 配置nginx.conf相关设置如下. client_header_buffer_size 16k; large_client_header_buffers 4 64k; 根据具体情况调整,一般适当调整值就可以。