You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel项目API本地正常,服务器端报cURL 28超时错误求助

Laravel服务器调用API出现cURL error 28(连接超时)的原因分析

问题描述

本地环境调用API正常,但部署到服务器的Laravel项目调用时出错,怀疑和HTTPS配置有关。报错信息:
Error: cURL error 28: Failed to connect to url port 80: Connection timed out for http://url/stock/

调用API的代码:

private function connectToAPI ($headers, $url) {
    try {
        $response = Http::withHeaders($headers)->get($url);
    } catch (Exception $e) {
        Log::error("Error: " . $e->getMessage());
        return false;
    }

    if (!isset($response) || $response->status() != 200) {
        Log::error("Error: " . $response->body());
        return false;
    }

    return $response;
}

可能的原因

  • 服务器出站端口限制:生产服务器的防火墙或安全组大概率封禁了80端口的出站请求。本地环境通常没有严格的端口管控,而服务器会限制非必要端口,尤其是未加密的HTTP(80端口)流量。
  • API协议不匹配:目标API可能仅支持HTTPS(443端口),但你的请求使用了HTTP(80端口),导致目标服务器没有监听80端口,最终连接超时。
  • 网络访问限制:服务器所在的网络环境无法访问目标API的IP,比如运营商屏蔽、机房路由策略限制,导致请求无法送达目标服务器。
  • DNS解析异常:服务器的DNS服务无法正确解析目标API的域名,导致请求找不到正确的服务器地址,引发超时。可以在服务器上执行ping 目标域名或nslookup 目标域名验证解析是否正常。
  • API服务器负载问题:目标API服务器当前负载过高,无法及时响应请求,但这种情况本地调用也可能出现,和你描述的本地正常情况匹配度较低,可作为次要排查项。

内容的提问来源于stack exchange,提问作者José Vicente López Delgadillo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:42:51