【问题标题】:curl (56) Recv failurecurl (56) 接收失败
【发布时间】:2012-04-14 20:11:21
【问题描述】:

运行命令时:

curl --head http://www.yourdomain.com/

在我的本地机器上,我得到这个输出:

HTTP/1.1 200 OK
Date: Sat, 31 Mar 2012 09:45:16 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=p2mt4l553bti4x55geyiwiil; path=/; HttpOnly
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 14663

但在我的实时服务器上,我得到了:

curl: (56) Recv failure: Connection reset by peer

他们都使用相同的 curl 版本 (7.21.0),目前,我只收到一个特定网址的此错误。

我应该如何解决这个问题?

【问题讨论】:

  • 防火墙问题?可能与 curl 无关...

标签: curl recv


【解决方案1】:

复制自CURL ERROR: Recv failure: Connection reset by peer - PHP Curl

我认为 D、E 部分可能会有所帮助:

D.最大传输单位

此错误的一个常见原因是通过网络连接传输的数据包的 MTU(最大传输单元)大小已从默认的 1500 字节更改。如果您已配置 VPN,这很可能必须在配置期间进行更改

D.防火墙:iptables

如果您不了解这些人的方法,他们会导致一些严重的问题.. 尝试访问您正在连接的服务器以检查以下内容

您可以访问该服务器上的 80 端口 示例

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT` 以下是在最后一行而不是在任何其他 ACCEPT 之前 示例

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited 检查 ALL DROP 、 REJECT 并确保它们没有阻止您的连接

暂时允许所有连接,看看它是否通过

【讨论】:

    【解决方案2】:

    “Recv 失败”表示 libcurl 中的 recv() 调用失败,这表明存在某种网络问题。很难非常具体地说明您应该如何进行跟踪,但是通过网络共享网络以准确了解 TCP 级别发生的情况将是一个好的开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-20
      • 1970-01-01
      • 2022-11-04
      • 2017-11-06
      • 2020-08-06
      • 2020-08-07
      • 2015-03-21
      • 2021-02-02
      相关资源
      最近更新 更多