错误日志类型
-
类型1: upstream timed out
-
类型2: connect() failed
-
类型3: no live upstreams
-
类型4: upstream prematurely closed connection
-
类型5: 104: Connection reset by peer
-
类型6: client intended to send too large body
-
类型7: upstream sent no valid HTTP/1.0 header
详细说明
| 类型 |
错误日志 |
原因 |
解决办法 |
|---|---|---|---|
| 类型 |
错误日志 |
原因 |
解决办法 |
| 1 | upstream timed out (110: Connection timed out) while connecting to upstream | nginx与upstream建立tcp连接超时,nginx默认连接建立超时为200ms | 排查upstream是否能正常建立tcp连接 |
| 1 | upstream timed out (110: Connection timed out) while reading response header from upstream | nginx从upstream读取响应时超时,nginx默认的读超时为20s,读超时不是整体读的时间超时,而是指两次读操作之间的超时,整体读耗时有可能超过20s | 排查upstream响应请求为什么过于缓慢 |
| 2 | connect() failed (104: Connection reset by peer) while connecting to upstream | nginx与upstream建立tcp连接时被reset | 排查upstream是否能正常建立tcp连接 |
| 2 | connect() failed (111: Connection refused) while connecting to upstream | nginx与upstream建立tcp连接时被拒 | 排查upstream是否能正常建立tcp连接 |
| 3 | no live upstreams while connecting to upstream | nginx向upstream转发请求时发现upstream状态全都为down | 排查nginx的upstream的健康检查为什么失败 |
| 4 | upstream prematurely closed connection | nginx在与upstream建立完tcp连接之后,试图发送请求或者读取响应时,连接被upstream强制关闭 | 排查upstream程序是否异常,是否能正常处理http请求 |
| 5 | recv() failed (104: Connection reset by peer) while reading response header from upstream | nginx从upstream读取响应时连接被对方reset | 排查upstream应用已经tcp连接状态是否异常 |
| 6 | client intended to send too large body | 客户端试图发送过大的请求body,nginx默认最大允许的大小为1m,超过此大小,客户端会受到http 413错误码 |
|
| 7 | upstream sent no valid HTTP/1.0 header | nginx不能正常解析从upstream返回来的请求行 | 排查upstream http响应异常 |
nginx日志错误日志说明
| 错误信息 |
错误说明 |
|---|---|
| 错误信息 |
错误说明 |
| "upstream prematurely(过早的) closed connection" |
请求uri的时候出现的异常,是由于upstream还未返回应答给用户时用户断掉连接造成的,对系统没有影响,可以忽略 |
| "recv() failed (104: Connection reset by peer)" |
(1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉; (2)客户关掉了浏览器,而服务器还在给客户端发送数据; (3)浏览器端按了Stop |
| "(111: Connection refused) while connecting to upstream" |
用户在连接时,若遇到后端upstream挂掉或者不通,会收到该错误 |
| "(111: Connection refused) while reading response header from upstream" |
用户在连接成功后读取数据时,若遇到后端upstream挂掉或者不通,会收到该错误 |
| "(111: Connection refused) while sending request to upstream" |
Nginx和upstream连接成功后发送数据时,若遇到后端upstream挂掉或者不通,会收到该错误 |
| "(110: Connection timed out) while connecting to upstream" |
nginx连接后面的upstream时超时 |
| "(110: Connection timed out) while reading upstream" |
nginx读取来自upstream的响应时超时
|
| "(110: Connection timed out) while reading response header from upstream" |
nginx读取来自upstream的响应头时超时 |
| "(110: Connection timed out) while reading upstream" |
nginx读取来自upstream的响应时超时 |
| "(104: Connection reset by peer) while connecting to upstream" |
upstream发送了RST,将连接重置 |
| "upstream sent invalid header while reading response header from upstream" |
upstream发送的响应头无效 |
| "upstream sent no valid HTTP/1.0 header while reading response header from upstream" |
upstream发送的响应头无效 |
| "client intended to send too large body" |
用于设置允许接受的客户端请求内容的最大值,默认值是1M,client发送的body超过了设置值 |
| "reopening logs" |
用户发送kill -USR1命令 |
| "gracefully shutting down", |
用户发送kill -WINCH命令 |
| "no servers are inside upstream" |
upstream下未配置server |
| "no live upstreams while connecting to upstream" |
upstream下的server全都挂了 |
| "SSL_do_handshake() failed" |
SSL握手失败 |
| "SSL_write() failed (SSL:) while sending to client" |
|
| "(13: Permission denied) while reading upstream" |
|
| "(98: Address already in use) while connecting to upstream" |
|
| "(99: Cannot assign requested address) while connecting to upstream" |
|
| "ngx_slab_alloc() failed: no memory in SSL session shared cache" |
ssl_session_cache大小不够等原因造成 |
| "could not add new SSL session to the session cache while SSL handshaking" |
ssl_session_cache大小不够等原因造成 |
| "send() failed (111: Connection refused)" |
ref:http://blog.sina.com.cn/s/blog_6e07f1eb010185hp.html
本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1964982,如需转载请自行联系原作者