PHP cURL 和 SSL 的奇怪超时

2024-03-18

当我尝试访问 Amazon Cloudfront 时,将 cURL 与 PHP 结合使用时遇到奇怪的超时。这似乎会影响所有失效请求、创建发行版等。cURL 要么报告接收到 0 字节,要么报告接收到很少的字节,然后超时:Operation timed out after 120000 milliseconds with 88 out of 619 bytes received.

延长超时设置似乎没有什么区别。

使用进行跟踪CURLOPT_VERBOSE产生这个输出:

* About to connect() to cloudfront.amazonaws.com port 443 (#0)
*   Trying 72.21.215.67... * connected
* Connected to cloudfront.amazonaws.com (72.21.215.67) port 443 (#0)
* skipping SSL peer certificate verification
* SSL connection using SSL_RSA_WITH_RC4_128_MD5
* Server certificate:
*   subject: CN=cloudfront.amazonaws.com,O=Amazon.com Inc.,L=Seattle,ST=Washington,C=US
*   start date: Jul 30 00:00:00 2010 GMT
*   expire date: Jul 29 23:59:59 2013 GMT
*   common name: cloudfront.amazonaws.com
*   issuer: CN=VeriSign Class 3 Secure Server CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)09,OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US
> POST /2010-11-01/distribution/E1CIM4A92QFD98/invalidation HTTP/1.1
User-Agent: S3/php
Accept: */*
Host: cloudfront.amazonaws.com
Date: Wed, 07 Mar 2012 14:31:58 GMT
Content-Type: application/xml
Authorization: AWS ************************
Content-Length: 200

< HTTP/1.1 201 Created
< x-amzn-RequestId: 4c2d0d3f-6862-11e1-ac27-5531ac8c967f
< Location: https://cloudfront.amazonaws.com/2010-11-01/distribution/E1CIM4A92QFD98/invalidation/I35KLNROKA40FU
* Operation timed out after 120000 milliseconds with 0 bytes received
* Closing connection #0

这看起来类似于这个问题 https://stackoverflow.com/q/2950417/305019。然而,在我的例子中,curl 实际上确实得到了响应,但不知何故忽略了它并超时了?据我所知,收到了回复(201 Created...),并且没有 SSL 错误。那么为什么curl会超时呢?

cURL 版本信息

[version_number] => 463623 
[age] => 3 
[features] => 1597 
[ssl_version_number] => 0 
[version] => 7.19.7 
[host] => x86_64-unknown-linux-gnu 
[ssl_version] => NSS/3.12.7.0 
[libz_version] => 1.2.3 
[protocols] => Array ( [0] => tftp [1] => ftp [2] => telnet [3] => dict [4] => ldap [5] => ldaps [6] => http [7] => file [8] => https [9] => ftps [10] => scp [11] => sftp )

仍然不完全确定为什么这个版本的curl会这样(看起来像一个bug),但解决方案是编译不同版本的curl和php(或多或少遵循这些说明 http://community.webfaction.com/questions/7959/how-did-i-install-my-own-phpcurlopenssl-for-use-with-the-shared-web-server)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP cURL 和 SSL 的奇怪超时 的相关文章

  • PHP 致命错误:未捕获错误:未找到“Facebook\WebDriver\ChromeOptions”类

    namespace Facebook WebDriver use Facebook WebDriver Remote DesiredCapabilities use Facebook WebDriver Remote RemoteWebDr
  • 带代理的 PHP CURL 导致套接字上的 CLOSE_WAIT

    我正在使用 PHPcurl 库来建立连接并从 WEB 检索内容 通常 我有多个 SOCKS5 代理服务器在 localhost 上运行 端口从 10300 到 10350 PHP 随机选择一个端口 My code ch curl init
  • mysql 扩展已弃用,并将在将来删除:使用 mysqli 或 PDO 代替 [重复]

    这个问题在这里已经有答案了 当我尝试从 PHP 连接到 MySQL 服务器时 我看到以下错误 已弃用 mysql 扩展已弃用 将来将被删除 在第 123 行的 path to filename php 中使用 mysqli 或 PDO 代替
  • 如何在 PHP 中从serializeArray 获取 POST 值?

    我正在尝试这个我见过的新方法serializeArray with ajax var data form input serializeArray post var action process data data ajax etc 这样我
  • php 的睡眠函数

    作为使用 cron 作业的可能替代方案 我找到了 sleep 函数 我以前从未使用过这个 如果我告诉我的脚本在一种循环内运行 并且在该循环内我有这样的指令 sleeps for 86400 seconds or one day sleep
  • 从 PHP 启动交互式 SSH bash 会话

    我正在使用 PHP 编写常见服务器管理任务的快捷方式 我正在使用deployer org 但这应该不重要 我想添加一个任务 用于在通过 SSH 连接到服务器后启动交互式 bash 提示符 例如 您将运行 dep ssh 其中 dep 是一个
  • php PDO 可以获取两个结果集吗?如果是,1 个结果集和 1 个以上结果集哪个更好?

    如果可能的话 如何获取两个结果集 sth dbh gt prepare SELECT FROM tb1 WHERE cond1 SELECT from tb2 Where cond2 sth gt execute row sth gt fe
  • 处理表单的最佳实践

    我想知道处理表单处理的最佳实践是什么 就我而言 我做了类似的事情 if the user hasn t submited the form 显示表格 else if there are form errors 显示错误 再次显示表格 els
  • 什么是好的、免费的 PHP 图表套件?

    我要做的只是基本的折线图 任何人分享的经验将不胜感激 不是真正的 PHP 但我发现 amchart 非常容易实现 而且看起来很棒 http www amcharts com http www amcharts com 还可以查看 Googl
  • PHP/Apache 中的输出缓冲块如何工作?

    假设我将随机数据从 PHP 回显到浏览器 随机数据总量约为 XGb 回显以 YKb 块的形式完成 不使用 ob start PHP 和 Apache 缓冲区已满后 echo 调用是否会阻塞 客户端无法以与生成数据相同的速度使用数据 如果是
  • 在 ASP.NET 自托管 Web API 上配置 SSL

    我正在创建自托管 Web API 服务 为了确保它的安全 我研究并实施了this http www codeproject com Articles 630986 Cross Platform Authentication With ASP
  • PHPSpreadsheet 文本旋转到 90 不起作用

    我正在尝试使用文本旋转到 90 度来使单元格具有垂直文本 但它不起作用 所有文本都是水平显示的 也许我做错了什么 这是我的 php 代码 spreadsheet new Spreadsheet Create a new worksheet
  • 在php中将指数数转换为小数

    我有一个指数格式的浮点数 即4 1595246940817E 17我想将其转换为十进制数 例如 2 99 等 任何帮助将不胜感激 format number sprintf 似乎不适合我 你需要像 BC 这样更好的数学扩展数学 GMP ht
  • 我被击败了 我只是想开发自己的画廊 但一开始我就失败了 在 a 中显示图像作为背景 div 我已经把我的代码颠倒了 搜索了网络 搜索了 stackoverflow 尽管我无法解决问题 这是我的代码 HTML PHP div class im
  • PHPExcel 日期字段与源电子表格不匹配

    这是我的电子表格中的内容 12 04 2011 8 56 17 p m xls dateserial 40645 87242 这是我用来提取日期并转换为 PHP 中的日期字符串的代码 txn date xls sheet gt getCel
  • 如何为Python的mechanize设置超时值?

    如何为Python的mechanize设置超时值 亚历克斯是正确的 mechanize urlopen需要一个timeout争论 因此 只需插入一些浮点型秒数 http docs python org library socket html
  • Codeigniter - 仅当数据库中不存在电子邮件时才更新电子邮件

    我为我的用户提供了一个更新页面 他们可以在其中编辑他们的姓名 电子邮件和其他信息 到目前为止 他们可以编辑一切 包括他们的电子邮件 他们可以毫无问题地输入数据库中已存在的电子邮件 我尝试添加此表单验证规则 this gt form vali
  • cron 作业或 PHP 调度程序

    我使用 MYSQL 作为我的数据库 PHP 作为我的编程语言 我想运行一个 cron 作业 该作业将运行直到当前系统日期与我的数据库表中名为 PROJECT 的 截止日期 日期 列匹配 一旦日期相同的是 必须运行更新查询 这会将状态 项目表
  • PHP/regex:如何获取HTML标签的字符串值?

    我需要有关正则表达式的帮助或preg match http php net preg match因为我对这些还没有那么丰富的经验 所以这就是我的问题 我需要获取值 get me 但我认为我的函数有错误 html 标签的数量是动态的 它可以包
  • 上传文件最安全的方法是什么?

    我工作的公司最近在我们托管的网站上遭受了许多标头注入和文件上传漏洞攻击 虽然我们已经解决了标头注入攻击的问题 但我们尚未控制上传漏洞 我正在尝试设置一系列即插即用类型的上传脚本以供内部使用 设计人员可以将其复制到其网站的结构中 修改一些变量

随机推荐

  • 直接调用__init__的目的是什么?

    我很难弄清楚我遇到的一些代码的用途 代码有一个类Foo 其中有一个 init 带有多个参数的方法 根据我迄今为止对 Python 的了解 通过调用Foo bar 它将将此字符串作为参数传递给 init 我认为这应该相当于构造函数 但我遇到的
  • node-webkit 中的 Require('jquery-ui') 会产生导航器未找到错误

    我已经安装了jquery and jquery ui通过 npm 我的 node webkit 项目 我也有一个index html它在启动时由 node webkit 加载 并加载core js This core js两者都需要jque
  • .vimrc:获取 E474:无效参数:listchars=tab:无论我做什么

    使用自定义 vimrc 文件加载 vim 时出现错误 Error E474 Invalid argument listchars tab 我尝试了很多事情 包括将这些行放入我的文件中 scriptencoding utf 8 set enc
  • 您能帮助我在实际示例中理解抽象类与接口的用法吗?

    您能否让我对抽象类与继承的使用有一个几乎过于简单化的理解 并帮助我 以便我能够真正理解这个概念以及如何实现 我有一个想要完成的项目 但不知道如何实施 我一直在和我的教授聊天 他经常责备我 说如果我无法弄清楚 我可能还没有准备好学习这门课程
  • 使用 awk 根据条件比较两个文件

    我有两个文件 1 txt j e s s i c a a n n email protected cdn cgi l email protection 61b8a203438ea1c56c1489ec7bea7a0e 9871951 ema
  • DHL 追踪 API 和 PHP

    我目前正在开展一个项目 我必须获取数据包的状态 通过 DHL 发送 我读到过有关 DHL API 的内容 它返回 XML 但不知何故没有好的示例 我找到了一些代码片段 但我不知道在哪里注册 API 密钥 有人给我一些链接或例子吗 此致 卢卡
  • 如何解决 Angular 更新问题 冲突的对等依赖:@angular/[email protected]

    我尝试使用官方升级指南将当前的 Angular 12 应用程序更新到 13 但失败了 我不确定问题是什么 坦率地说 我不认为 npm 错误消息是不言自明的 这是输出 PS C Projects frontend gt npx ng upda
  • Google Drive SDK“sharedWithMe = false”搜索查询不起作用

    我正在尝试获取 我的云端硬盘 中的文件夹列表并请求 https www googleapis com drive v2 files https www googleapis com drive v2 files 使用此搜索查询 mimeTy
  • Lua 表.concat

    有没有办法使用table concat的arg 2值来表示当前表索引 eg t t 1 a t 2 b t 3 c X table concat t n 表 concat X 的所需输出 1 a n2 b n3 c n 简单的回答 不 ta
  • C# 让 Android 手机振动 100 毫秒

    上周我在手机上尝试了一些游戏 发现有些游戏使用了振动 as a feedback 对于玩家来说 当事情发生时 例如 玩家crashed撞到墙上 玩家做了一次完美的发射 玩家获得了大奖 等等 我真的很喜欢给手机一点震动或轻微摇晃 基本上可以告
  • 在 Keras IMDB 示例中使用字符串作为输入

    我正在看Keras IMDB 电影评论情感分类示例 https keras io datasets imdb movie reviews sentiment classification 以及github上对应的模型 https githu
  • 如何在 Spring 2.5 中的配置文件中连接两个 String bean

    我知道 Spring 3 0 及更高版本有 EL 但在本例中该项目使用 Spring 2 5 例如
  • 简单的演示项目 Webpack KO(带有组件) javascript

    我想用 javascript 淘汰组件构建 SPA 经过大量阅读和摆弄之后 我似乎仍然无法使用 webpack 获得一个可用的 javascript 无打字稿 淘汰 带组件 项目 我发现了一些简单的淘汰项目 但无法让它们与 webpack
  • 错误:“dimnames”的长度[2]不等于数组范围[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我对我的 R 代码做了一些修改 效果很好 但现在我有 7 个集群 而不是 3 个 layout matrix c 1 1 2 2
  • 访问firebase firestore v9中的子集合

    我正在尝试访问子集合 消息 内的 firebase firestore 文档 user gt user uid gt messages gt docRef id gt date Date now text userText userEmai
  • Kubernetes 入口控制器无法找到证书密钥

    我正在设置一个包含入口控制器证书的机密 但在检查入口日志时出现以下错误 入口日志 W0304 05 47 32 020497 7 controller go 1153 Error getting SSL certificate defaul
  • Python 中的 Perlin 噪声:噪声值压缩,需要帮助形成正弦模式

    我目前正在研究一个涉及 Python 中 Perlin 噪声生成的项目 我使用噪声库实现了 Perlin 噪声生成 并使用这些噪声类型的组合在块内生成了不同类型的噪声值 洞穴 陆地 山丘 山脉 但是 我面临着生成的噪声值的问题 噪声值没有形
  • 如何更改 ActiveAdmin 路由 ID 的限制?

    我正在对使用 ActiveAdmin 的 Rails 站点进行更改 包括将 URL 中使用的标识符更改为有意义的字符串 在 ActiveAdmin 之外 只需更改to param每个模型的方法 这还更改了为 ActiveAdmin 页面上的
  • 将 HTTP 重定向到 HTTPS

    我目前使用此代码将 HTTP 重定向到 HTTPS RewriteCond HTTPS off RewriteRule https HTTP HOST REQUEST URI R L 它正在工作 http website com http
  • PHP cURL 和 SSL 的奇怪超时

    当我尝试访问 Amazon Cloudfront 时 将 cURL 与 PHP 结合使用时遇到奇怪的超时 这似乎会影响所有失效请求 创建发行版等 cURL 要么报告接收到 0 字节 要么报告接收到很少的字节 然后超时 Operation t