当前位置: 首页 > news >正文

如何解决服务器CA证书过期的问题

一、问题的提出

最近在学习VPS,在Linux系统里给服务器安装某项服务时,在服务的log里看到下面的错误信息:

failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2023-12-25T04:42:38-05:00 is after 2021-09-30T14:01:15Z, result: , status code: 0

经过分析,发现上面的错误是由于系统证书的时间比服务器当前的时间要早,也就是过期了,所以才报错。

在安装acme时,同时遇到了下面的报错,进一步确认了CA certs过期的问题。

curl https://get.acme.sh | sh -s email=XXX@126.com % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (60) The certificate issuer's certificate has expired. Check your system date and time. More details here: http://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.

二、问题的解决

我在网上群里提问,有大佬提出是系统证书较老,建议更新新系统,我的系统是CentOS,安装时的确不是最新版。如果重新安装系统,那么我之前安装的程序就白费了,那么就只能更新证书来解决了。

于时,我把上面第二个错误信息交给ChatGPT,并明确这是服务器里面的报错信息。ChatGPT很快给出了解答:

错误提示表明 curl 在执行时遇到了 SSL 证书验证问题,具体原因是证书颁发机构(CA)的证书已经过期。这可能是因为你的系统时间不准确,也可能是因为使用的 curl 版本不包含最新的 CA 证书捆绑文件。 以下是解决问题的一些建议: 检查系统时间: 确保你的服务器上的系统时间是准确的。

你可以使用以下命令来同步系统时间:

sudo ntpdate -u time.nist.gov 如果你使用的是 systemd,

也可以使用以下命令: sudo timedatectl set-ntp true 更新 CA 证书捆绑文件:

在某些情况下,curl 使用的 CA 证书捆绑文件可能已过期。你可以手动更新 CA 证书。在很多系统中,CA 证书捆绑文件通常位于 /etc/ssl/certs/ca-certificates.crt。你可以使用系统包管理器安装最新的 CA 证书。

例如,在 Debian 或 Ubuntu 系统上,可以使用以下命令: sudo apt-get update sudo apt-get install --reinstall ca-certificates

在 CentOS 或 RHEL 系统上,可以使用以下命令: sudo yum update ca-certificates 使用 -k 或 --insecure 选项: 如果你确定连接目标不涉及安全风险,你可以使用 -k 或 --insecure 选项来忽略证书验证。

请注意,这会使通信不再安全,只有在你能够确认连接安全的情况下使用。 curl -k https://get.acme.sh | sh -s email=cflpd@126.com 请根据你的具体情况选择其中一种或多种方法来解决问题。确保在修改系统设置之前,了解可能的安全风险。

根据上面的回答,最终确认是:证书颁发机构(CA)的证书已经过期。

由于我的是CentOS系统,在检查完服务器时间没有问题的情况下,我采用下面的命令:

sudo yum update ca-certificates

最后,终于一键解决了系统证书超期的问题。

三、学后反思

  1. 上面的问题困扰了我两天时间,主要原因是自己对CA证书的理解还不够深入,ChatGPT用的比较少,对于问题的解决只是通过搜索引擎和网上交流平台,对于信息的筛选存在不足。

  2. 以后学习VPS技术,必须要综合搜索引擎、CSDN、ChatGPT等渠道,以便更快地查明问题的所在,并进行快速地分析、判断和处理。

  3. 至于如何发现问题,可以通过log的记录,一项一项地查明,可以复制到搜索引擎搜索,也可以喂给ChatGPT分析,但是要明确一下分析的语境,以免让ChatGPT产生误会。由于Linux是开源的系统,而且网上学习的资源也特别地丰富,所以ChatGPT对于问题的理解、识别、解决都相当地到位,能够快速地给我们一些非常好的思路和建议,因此应该成为技术学习者必备的工具。

相关文章:

如何解决服务器CA证书过期的问题

一、问题的提出 最近在学习VPS,在Linux系统里给服务器安装某项服务时,在服务的log里看到下面的错误信息: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2023-12-25T04:42:38-05:00 is a…...

计算机基础面试题总结

47、OSI、TCP/IP、五层协议的体系结构以及各层协议 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。 五层协议&…...

【算法练习】leetcode链表算法题合集

链表总结 增加表头元素倒数节点,使用快慢指针环形链表(快慢指针)合并有序链表,归并排序LRU缓存 算法题 删除链表元素 删除链表中的节点 LeetCode237. 删除链表中的节点 复制后一个节点的值,删除后面的节点&#x…...

2023.12.28每日一题

LeetCode每日一题 2735.收集巧克力 2735. 收集巧克力 - 力扣(LeetCode) 介绍 看题目看不懂,在评论区看到一个大哥解释,瞬间明白了。 一张桌子上有n件商品围成一圈,每件都有一个价签,它们构成数组nums。…...

231227-9步在RHEL8.8配置本地yum源仓库

Seciton 1:参考视频 RHEL8配置本地yum源仓库-安徽迪浮_哔哩哔哩_bilibili Seciton 2:具体操作 🎯 第1步:查看光驱文件/dev/sr0是否已经挂载?此处已挂在 [lgklocalhost ~]$ df -h 🎯 第1步:查看…...

5. 创建型模式 - 单例模式

亦称: 单件模式、Singleton 意图 单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。 问题 单例模式同时解决了两个问题, 所以违反了单一职责原则: 保证一个类只有一…...

机器学习之人工神经网络(Artificial Neural Networks,ANN)

人工神经网络(Artificial Neural Networks,ANN)是机器学习中的一种模型,灵感来源于人脑的神经网络结构。它由神经元(或称为节点)构成的层级结构组成,每个神经元接收输入并生成输出,这些输入和输出通过权重进行连接。 人工神经网络(ANN)是一种模仿生物神经系统构建的…...

GetLastError()详细介绍

GetLastError() 是 Windows 操作系统提供的一个函数,用于获取调用线程最近一次发生的错误码。这个函数的定义如下: DWORD GetLastError(void); 调用 GetLastError() 函数可以帮助开发人员在发生错误时获取错误的详细信息,从而进行适当的错…...

【unity3D-粒子系统】粒子系统主模块-Particle System篇

💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的粒子系统主模块-Particle System 基础知识 Particle System 介绍:粒子系统的主模块,是必需的模块&#x…...

Windows搭建FTP服务器教学以及计算机端口介绍

目录 一. FTP服务器介绍 FTP服务器是什么意思? 二.Windows Service 2012 搭建FTP服务器 1.开启防火墙 2.创建组 ​编辑3.创建用户 4.用户绑定组 5.安装ftp服务器 ​编辑6.配置ftp服务器 7.配置ftp文件夹的权限 8.连接测试 三.计算机端口介绍 什么是网络…...

安防视频监控系统EasyCVR实现H.265视频在3秒内起播的注意事项

可视化云监控平台/安防视频监控系统EasyCVR视频综合管理平台,采用了开放式的网络结构,可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力,同时…...

CNN实现对手写字体的迭代

导入库 import torchvision import torch from torchvision.transforms import ToTensor from torch import nn import matplotlib.pyplot as plt 导入手写字体数据 train_dstorchvision.datasets.MNIST(data/,trainTrue,transformToTensor(),downloadTrue) test_dstorchvis…...

docker学习笔记01-安装docker

1.Docker的概述 用Go语言实现的开源应用项目(container);克服操作系统的笨重;快速部署;只隔离应用程序的运行时环境但容器之间可以共享同一个操作系统;Docker通过隔离机制,每个容器间是互相隔离…...

【《设计模式之美》】如何取舍继承与组合

文章目录 什么情况下不推荐使用继承?组合相比继承有哪些优势?使用组合、继承的时机 本文主要想了解: 为什么组合优于继承,多用组合少用继承。如何使用组合来替代继承哪些情况适用继承、组合。有哪些设计模式使用到了继承、组合。 …...

一步到位:用Python实现PC屏幕截图并自动发送邮件,实现屏幕监控

在当前的数字化世界中,自动化已经成为我们日常生活和工作中的关键部分。它不仅提高了效率,还节省了大量的时间和精力。在这篇文章中,我们将探讨如何使用Python来实现一个特定的自动化任务 - PC屏幕截图自动发送到指定的邮箱。 这个任务可能看…...

Spring Boot+RocketMQ 实现多实例分布式环境下的事件驱动

为什么要使用MQ? 在Spring Boot Event这篇文章中已经通过Guava或者SpringBoot自身的Listener实现了事件驱动,已经做到了对业务的解耦。为什么还要用到MQ来进行业务解耦呢? 首先无论是通过Guava还是Spring Boot自身提供的监听注解来实现的事…...

oracle ORA-01704: string literal too long ORACLE数据库clob类型

当oracle数据表中有clob类型字段时候&#xff0c;insert或update的sql语句中&#xff0c;超过长度就会报错 ORA-01704: string literal too long update xxx set xxx <div><h1>123</h1></div> where id 100;可以修改为 DECLAREstr varchar2(10000…...

微星主板强刷BIOS(以微星X370gaming plus 为例)

(前两天手欠&#xff0c;用U盘通过微星的M-flash升级BIOS 升级过程中老没动静就强制关机了 然后电脑就打不开了) 几种强刷主板BIOS的方式 在网上看到有三种强刷BIOS的方式分别是: 使用夹子编程器 (听说不太好夹)使用微星转接线编程器&#xff08;只能用于微星主板&#xff0…...

matlab 图像上生成指定中心,指定大小的矩形窗

用matlab实现在图像上生成指定中心,指定大小的矩形窗(奇数*奇数) function PlaneWin PlaneWindow(CentreCoorX,CentreCoorY,RadiusX,RadiusY,SizeImRow,SizeImColumn) % 在图像上生成指定中心,指定大小的矩形窗(奇数*奇数) % % Input: % CentreCoorX(1*1) % CentreCoorY(1*1)…...

❀My学习小记录之算法❀

目录 算法:) 一、定义 二、特征 三、基本要素 常用设计模式 常用实现方法 四、形式化算法 五、复杂度 时间复杂度 空间复杂度 六、非确定性多项式时间&#xff08;NP&#xff09; 七、实现 八、示例 求最大值算法 求最大公约数算法 九、分类 算法:) 一、定义 …...

UP Squared 6000工业级创客板:边缘AIoT开发与部署实战指南

1. 项目概述&#xff1a;UP Squared 6000&#xff0c;一块能“扛事”的工业级创客板在工业自动化和边缘AIoT项目里摸爬滚打这么多年&#xff0c;我经手过不少开发板&#xff0c;从早期的树莓派到各种国产派&#xff0c;再到工业级的工控机。很多时候&#xff0c;我们面临一个尴…...

6.3 节深度拆解:Hermes Agent 多 Agent 协同执行链路的 4 层设计逻辑

1. 多 Agent 协同不是“堆人”,而是建流水线:Hermes 的 4 层链路设计,本质是工程化任务分解 我第一次把三个 Hermes Agent 拉进同一个 workflow 时,以为只要给它们起好名字、连上模型、丢个需求进去,就能自动跑出结果。结果跑了三轮:第一轮,Code Agent 写完函数,Test …...

【Perplexity医生信息搜索实战指南】:3大隐藏技巧让临床决策效率提升70%

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Perplexity医生信息搜索实战指南概述 Perplexity 是一款基于大语言模型的智能搜索工具&#xff0c;其核心优势在于支持自然语言提问、实时联网检索与引用溯源。在医疗健康领域&#xff0c;尤其面向医生资质核查…...

Git忽略文件失效?一招解决!

场景&#xff1a; 在某次 Git 提交时&#xff0c;忘记在 .gitignore 文件中添加上某个原本应该被忽略的文件夹或者文件&#xff0c;于是后一次的提交时在 .gitignore 加上了这些文件&#xff0c;但是在远程的仓库中这些文件夹、文件却并没有消失。这个属于属于什么问题&#xf…...

从单机到联网:手把手教你用NetCA为Oracle数据库配置‘电话线’(监听程序与本地网络服务)

从单机到联网&#xff1a;手把手教你用NetCA为Oracle数据库配置‘电话线’ 想象一下&#xff0c;你刚搬进一栋新公寓&#xff0c;已经熟悉了家里的水电开关&#xff08;本地Oracle安装&#xff09;&#xff0c;但还没登记电话号码&#xff08;监听程序&#xff09;和录入邻居联…...

嵌入式网络开发避坑:LwIP软件定时器溢出处理与链表排序的实战细节

嵌入式网络开发避坑&#xff1a;LwIP软件定时器溢出处理与链表排序的实战细节 在嵌入式网络开发中&#xff0c;LwIP协议栈因其轻量级和高度可裁剪性成为众多开发者的首选。然而&#xff0c;在实际应用中&#xff0c;软件定时器的溢出处理和链表排序逻辑往往是引发隐蔽问题的重灾…...

抖音批量下载神器:轻松保存无水印视频的终极指南 [特殊字符]

抖音批量下载神器&#xff1a;轻松保存无水印视频的终极指南 &#x1f3ac; 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallb…...

解密冰蝎和蚁剑:在CTF流量分析中如何识别和还原WebShell攻击(含AES/Base64解密实操)

解密冰蝎与蚁剑&#xff1a;CTF流量分析中的WebShell识别与解密实战 在CTF竞赛和安全分析领域&#xff0c;WebShell流量分析一直是让许多选手头疼的高阶挑战。特别是当面对冰蝎&#xff08;Behinder&#xff09;、蚁剑&#xff08;AntSword&#xff09;这类采用强加密通信的Web…...

手把手教你用Cubic为团队批量定制Ubuntu服务器模板镜像(含安全加固步骤)

企业级Ubuntu镜像定制实战&#xff1a;基于Cubic的自动化安全加固方案 在DevOps和云原生技术普及的今天&#xff0c;标准化系统镜像已成为企业IT基础设施的关键组成部分。想象一下这样的场景&#xff1a;当新服务器上线或集群需要扩容时&#xff0c;运维团队不再需要逐台安装系…...

保姆级教程:用Node-RED把传感器数据传到ThingsBoard仪表盘(MQTT全流程)

从零构建物联网数据可视化&#xff1a;Node-RED与ThingsBoard的实战融合 在智能家居、工业监测等物联网场景中&#xff0c;如何将物理世界的传感器数据转化为直观的可视化图表&#xff1f;本文将手把手带您完成从硬件数据采集到云端展示的完整链路实现。不同于单纯的理论讲解&a…...