写点什么

104 Connection reset by peer

作者:麦兜
  • 2024-03-08
    浙江
  • 本文字数:887 字

    阅读完需:约 3 分钟

首先配置 nginx.conf 里头的日志

其中 "$request_length" 跟踪的是请求发送的数据包的大小.

$body_bytes_sent 跟踪的是请求响应返回的大小.

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                                    '"$http_user_agent" "$http_x_forwarded_for" "$request_length"'; 
复制代码
  1. 观察 3 笔接口发送的情况:

    我操作了 3 笔, 但是 access.log 只记录了 2 笔。

    2.1 第一次请求:

    发送了 1752 字节。

    请求正常完成,返回了 HTTP 状态码 200,表示请求成功。

    响应返回了 1011 字节的数据。

    2.2 第二次请求:

    发送了 1775 字节。

    客户端取消了请求,Nginx 返回了 HTTP 状态码 499。

    499 状态码不是官方的 HTTP 状态码,它是 Nginx 特有的,用来表示客户端在服务器完成请求之前关闭了连接。

    响应返回了 0 字节的数据。

    2.3 第三次请求:

    发送了 1775 字节,与第二次请求相同。

    没有取消请求,但是最终客户端抛出了客户端会抛出 ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer')),提示连接被重置(Connection reset by peer)。

    对于这种情况,通常意味着在数据传输过程中,TCP 连接遭到了对方重置。这可能是由于服务器端的软件崩溃、服务器端的硬件问题、网络问题,或者服务器端为了保护自己而故意重置连接。

    ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))

frappe@899c031ceb4f:/var/log/nginx$ sudo tail -fn 300 access.log 192.168.8.96 - c1ded80e90ed191 [08/Mar/2024:00:02:13 +0800] "POST /api/resource/ResearchFee%20Initial%20Evaluation HTTP/1.1" 200 1011 "-" "python-requests/2.31.0" "-" "1752"192.168.8.96 - c1ded80e90ed191 [08/Mar/2024:00:05:09 +0800] "POST /api/resource/ResearchFee%20Initial%20Evaluation HTTP/1.1" 499 0 "-" "python-requests/2.31.0" "-" "1775"
复制代码


用户头像

麦兜

关注

与一只鸟生活在杭州 2023-01-19 加入

企业ERP,企业供应链,业务财务一体化老兵

评论

发布
暂无评论
104 Connection reset by peer_麦兜_InfoQ写作社区