解决Nginx 400 Bad Request问题的思路是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
400 Bad Request是一种HTTP错误状态码。HTTP/1.1对400 Bad Request的定义主要是:1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。1. 一般导致400异常的场景
一般使用Nginx在以下场景会报400 Bad Request:
2. 特殊问题场景一:URLConnection发起HTTPS请求经过代理400异常
我们有某个系统A,在和系统B之间通信时使用的是HTTPS协议,在系统B的nginx代理层有大量400错误抛出。经过我们排查,不存在上述请求头部过大或者空请求的情况。那么400问题因何而起呢?我们根据问题症状浏览了大量国外技术网站,终于定位到这是JDK的一个bug:
JDK-6687282 : URLConnection for HTTPS connection through Proxy w/ Digest Authentication gives 400 Bad Request
A系统的JDK版本比较老java version "1.6.0_05",同时使用的是JDK原生的"CONNECT verisign.com:443 HTTP/1.1"
sun.net.www.protocol.http.digestauthentication
2.使用Apache HttpClient代替URLConnection
关于解决Nginx 400 Bad Request问题的思路是怎样的问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网行业资讯频道了解更多相关知识。