前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >聊聊nginx报错499问题

聊聊nginx报错499问题

作者头像
code4it
发布2018-09-17 15:16:21
2.5K0
发布2018-09-17 15:16:21
举报
文章被收录于专栏:码匠的流水账码匠的流水账

本文主要来聊一下nginx的access log当中出现的499问题。

问题描述

499 CLIENT CLOSED REQUEST

A non-standard status code introduced by nginx for the case when a client closes the connection while nginx is processing the request.

原因

服务器返回http头之前,客户端就提前关闭了http连接,常见于后台接口处理时间比较长,而前端请求又自带有超时时间。

复现

请求实例

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<script src="http://www.w3school.com.cn/jquery/jquery-1.11.1.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
      $.ajax({
    url : '/demo/test',
    timeout : 10000,
    type : 'get',
    dataType : 'json',
    success : function(data){
        alert('success');
    }
   });
  });
});
</script>
</head>
<body>

<button>ajax带超时时间请求</button>

</body>
</html>

后台接口

代码语言:javascript
复制
    @GetMapping("/test")
    public String test(HttpServletResponse response) throws InterruptedException {
        Thread.sleep(100*1000);
        return "hello";
    }

nginx

代码语言:javascript
复制
        location /demo/ {
            access_log  /usr/local/var/log/nginx/host.access.log  main;
            proxy_pass http://localhost:8080/demo/ ;
        }

关于log format如下

代码语言:javascript
复制
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

log实例

代码语言:javascript
复制
127.0.0.1 - - [04/Nov/2017:01:11:29 +0800] "GET /demo/test HTTP/1.1" 499 0 "http://localhost:8888/demo.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
127.0.0.1 - - [04/Nov/2017:01:11:42 +0800] "GET /demo/test HTTP/1.1" 499 0 "http://localhost:8888/demo.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"
127.0.0.1 - - [04/Nov/2017:01:11:58 +0800] "GET /demo/test HTTP/1.1" 499 0 "http://localhost:8888/demo.html" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"

doc

  • 499 CLIENT CLOSED REQUEST
  • 服务器排障 之 nginx 499 错误的解决
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码匠的流水账 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题描述
    • 499 CLIENT CLOSED REQUEST
      • 原因
      • 复现
        • 请求实例
          • 后台接口
            • nginx
              • log实例
              • doc
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档