nginx因客户端缓存报400错误解决办法

2018-02-22  本文已影响14人  MatthewSp

起因:

     域名切换对应的服务器,导致阿里后台/微信后台在异步通知时,请求的头文件带缓存,致使nginx的日志获取头文件为空/“-”。查看nginx日志如下所示:

nginx图示(搬运)

解决办法1:

    傻乎乎等别人家的后台耐不住寂寞,刷新缓存。

解决办法2:

    为nginx添加名称为“-”的虚拟服务器,进而允许该访问路径。

切勿遗漏“default_server”

    ex: 有一定的潜在危险。

原因分析:

    http1.1的标准规定请求必须包含头部信息,如果请求头为空那么web server直接返回400,详细可以看RFC文档RFC 2316, section 14.23

    除了上面这种telnet方式可能造成空请求头外,当浏览器下载图片的同时点击别的链接,会关闭下载连接,也会出现空请求头,再或者机器人构造的空请求头访问。

上一篇下一篇

猜你喜欢

热点阅读