HTTP 499 in Nginx means that the client closed the connection before the server answered the request. In my experience is usually caused by client side timeout. As I know it's an Nginx specific error code.
如果是因为服务器处理时间太久,而客户端关闭连接,除了优化服务器处理程序外,nginx也可以添加一个配置指令
proxy_ignore_client_abort on;
忽略客户端断开。但这只是忽略了错误,并没有根本上解决问题,根本上解决问题要优化配置和程序处理速度。如php-fpm是否足够进程数等。
其他一些499可能的因素(参考):
- It can mean that you're sending requests too quickly - from memory you have a limit of 100 http-requests per 100 seconds, but this may have changed
- It can mean that the simulator is too busy or cannot allocate a request for technical reasons
- SSL failure
- If there is a space in url, the http_response status code will be 499.
- Requests must fully complete after 60 seconds, or else the response will be thrown away and the http_response status code will be 499.
- 请求客户端连接设置的超时时间太短,如1s,也可能导致499错误。