【问题标题】:Requests to Cloudflare Websites对 Cloudflare 网站的请求
【发布时间】:2014-11-15 09:00:05
【问题描述】:

我正在尝试向 Cloudflare 网站发出请求。 直到昨天我还有一个工作脚本,但现在看起来请求被发送回是空的。 现在问题似乎很奇怪,原因如下: *直到昨天它工作正常。 *它只发生在需要 SSL 连接的网站上。 *相同的代码适用于我的本地主机,但不适用于我的服务器。

这是我正在使用的代码:

$ch = curl_init();
$curlConfig = array(
CURLOPT_URL            => $url,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6',
CURLOPT_FOLLOWLOCATION => 1
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);

如您所见,代码非常简单,但我就是不明白为什么它不能在我的服务器上运行,而在我的本地主机 (XAMPP) 上运行良好。

在此先感谢您,祝您有美好的一天!

【问题讨论】:

    标签: php ssl curl cloudflare


    【解决方案1】:

    您的本地 curl 设置是否支持使用 ECC SSL 证书?

    如果这仅发生在具有免费 CloudFlare 帐户(而不是专业帐户)的网站上,则意味着您的 curl 安装无法连接到使用椭圆曲线密码术用于 SSL 的网站。

    您需要在服务器上安装这些密码。您提到它在服务器上不起作用,而在 XAMPP 上运行良好。这很可能是因为您的本地计算机安装了这些密码,而您的计算机没有。您可以通过升级您的 OpenSSL 版本在 Linux 环境中执行此操作。

    这应该可以解决您的问题。玩得开心,一定不要被他们的防火墙阻止从 CloudFlare!

    【讨论】:

    • 我从 chrome 下载了证书 DER encoded binary x.509(.cer) 并将其转换为 .pem 文件,将其设置为 CURL 但没有解决我的问题,请参阅详细信息:stackoverflow.com/q/71529199/1407491
    猜你喜欢
    • 2021-05-31
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 2022-11-11
    • 2012-10-09
    相关资源
    最近更新 更多