我在使用iflow cli的时候,给指令后,报错:[API Error: 生成数据错误: fetch failed:certificate is not yet valid],我已经认证登录了,还需要什么证书?看提示是需要证书?
一样的错误,安装0.5.2 的 cli 后,任何指令都报 ✕ [API Error: generate data error: fetch failed:unable to get local issuer certificate]
现在使用的电脑系统、终端工具和模型是什么?
也辛苦提供下现在使用的电脑系统、终端工具和模型
windows11 上安装的虚拟机:内核Linux localhost.localdomain 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 22:20:27 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
版本:Rocky Linux release 9.7 (Blue Onyx)
iflow是最新版本,模型不管哪个都一样。
macOS sequoia
iflow-cli 0.5.2
模型 qwen3 和 glm-4.7 都试过了
有的模型报错是:[API Error: 生成数据错误: fetch failed:certificate is not yet valid]
有的模型报错是:[API Error: 生成数据错误: ]
好的 我们迅速排查一下,是今天刚发生的吗
有好几天了,前面懒得弄,因为我windows11 也开了一个iflow可以用,前面就没有管了
我们刚才看后台模型监控是正常的,尝试卸载重装一下吧,如果还是有问题可以提供下日志文件
应该是虚拟机时间的问题,同步一下虚拟机时间试试?
logs.json 里面[
{
“sessionId”: “session-cfe2a03f-c2cb-47c9-862d-677a3d634a49”,
“messageId”: 0,
“type”: “user”,
“message”: “pwd”,
“timestamp”: “2026-01-23T07:00:51.507Z”
}
]timestamp 确实不对 ,应该如何处理
bash 里面 date 命令输出时间是正确的,和 node → new date() 时间不符合 ,是UTC 时区
我让iflow生成的解决办法,你可以试一下。
解决方案
请让用户在 Rocky Linux 虚拟机中执行以下命令:
检查当前系统时间
查看当前系统时间
date
查看硬件时钟
hwclock --show
查看时区设置
timedatectl
同步系统时间(推荐方案)
方案 A:使用 chronyd(Rocky Linux 9 默认)
检查 chronyd 服务状态
sudo systemctl status chronyd
如果未启动,启动服务
sudo systemctl start chronyd
sudo systemctl enable chronyd
强制立即同步时间
sudo chronyc makestep
验证时间同步状态
chronyc tracking
方案 B:手动设置时间(临时方案)
手动设置正确的时间(格式:YYYY-MM-DD HH:MM:SS)
sudo date -s “2026-01-23 14:30:00”
将系统时间写入硬件时钟
sudo hwclock --systohc
验证
date
方案 C:使用 ntpdate(备选方案)
安装 ntpdate(如果未安装)
sudo dnf install -y ntpdate
同步时间
sudo ntpdate pool.ntp.org
或使用阿里云 NTP 服务器(国内更快)
sudo ntpdate ntp.aliyun.com
配置自动时间同步
编辑 chronyd 配置:
sudo vi /etc/chrony.conf
确保包含以下 NTP 服务器(建议使用国内服务器):
阿里云 NTP
server ntp.aliyun.com iburst
或者使用 pool.ntp.org
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
重启服务:
sudo systemctl restart chronyd
验证问题已解决
时间同步后,重新运行 iFlow CLI:
确认时间正确
date
测试 HTTPS 连接
curl -v https://api.openai.com 2>&1 | head -20
运行 iFlow
iflow
虚拟机特定配置
对于 VMware 虚拟机:
确保 VMware Tools 已安装并启用时间同步:
检查 VMware Tools 状态
vmware-toolbox-cmd -v
启用时间同步
vmware-toolbox-cmd timesync enable
对于 VirtualBox 虚拟机:
在虚拟机设置中启用时间同步,或安装 Guest Additions。
对于 KVM/QEMU 虚拟机:
确保使用 qemu-guest-agent:
sudo dnf install -y qemu-guest-agent
sudo systemctl start qemu-guest-agent
sudo systemctl enable qemu-guest-agent
快速诊断脚本
可以让用户运行这个一键诊断脚本:
#!/bin/bash
echo “=== 系统时间诊断 ===”
echo “当前系统时间: $(date)”
echo “硬件时钟: $(sudo hwclock --show)”
echo “”
echo “=== 时间同步状态 ===”
timedatectl
echo “”
echo “=== Chronyd 状态 ===”
systemctl status chronyd --no-pager
echo “”
echo “=== 测试 HTTPS 证书 ===”
curl -v https://www.google.com 2>&1 | grep -i “certificate|date”
根本原因总结
这个问题的核心是:
- 虚拟机的系统时间早于当前实际时间
- 当 iFlow 尝试连接 HTTPS API 时,服务器的 SSL 证书的生效时间(notBefore)晚于虚拟机的系统时间
- Node.js 的 TLS 验证检测到"证书尚未生效",拒绝建立连接
✦ 解决方法就是确保虚拟机的系统时间正确且保持同步。
我是macOS sequoia
iflow-cli 0.5.2 不是虚拟机
我本机的date 是对的,node → new Date() 有时区问题
grep -r “timestamp\|toISOString” ./@iflow-ai/iflow-cli 文件太多
同步时间后,看起来是正常了,感谢!
我的问题怎么处理?
稍等让技术同学看下
有结果了吗?