Linux证书问题:curl#60 - “The certificate issuer‘s certificate has expired

在CentOS7上尝试通过yum安装PHP7时遇到HTTPS源证书过期的问题。执行`yum install ca-certificates -y`和`update-ca-trust extract`后,解决了证书信任问题,成功安装了外网yum源。

问题说明

最近在centos7上打算安装php7版本,需要下载一个外网https的yum源,结果报错如下:

  • 执行命令
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
  • 报错
    在这里插入图片描述

问题原因

貌似是证书过期了。

解决方法

执行以下命令:

yum install ca-certificates -y
update-ca-trust extract

在这里插入图片描述

在访问Zabbix的YUM仓库时遇到SSL证书错误,例如 `curl: (60) Peer's certificate issuer has been marked as not trusted by the user`,通常是因为系统缺少对仓库服务器SSL证书的信任链。以下是一些解决方法,可帮助用户绕过或解决该问题。 ### 1. 跳过SSL证书验证 如果用户不介意跳过证书验证,可以使用 `--no-check-certificate` 或 `-k` 选项,这样 `curl` 将跳过SSL证书验证。例如: ```bash rpm -ivh --no-check-certificate https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm ``` 此方法适用于临时解决问题,但不推荐在生产环境中长期使用,因为它会降低安全性[^1]。 ### 2. 手动安装证书 如果用户希望更安全地解决此问题,而不是跳过证书验证,可以通过手动安装缺失的CA证书来解决信任问题。具体步骤包括: - **下载Zabbix仓库的SSL证书**:使用浏览器访问Zabbix仓库的URL,导出其SSL证书- **将证书添加到系统信任库**:使用以下命令将证书添加到系统的信任库中: ```bash sudo cp zabbix.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust extract ``` 完成这些步骤后,系统将信任Zabbix仓库的SSL证书,从而避免证书错误[^2]。 ### 3. 检查并更新CA证书包 有时,SSL证书错误可能是由于系统上的CA证书包过时或损坏引起的。可以通过更新 `ca-certificates` 包来解决此问题: ```bash sudo yum update ca-certificates ``` 更新完成后,重新尝试访问Zabbix仓库,查看是否仍然出现证书错误。 ### 4. 使用 `wget` 替代 `curl` 如果 `curl` 仍然无法正常工作,可以尝试使用 `wget` 来下载Zabbix仓库的RPM包。例如: ```bash wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.11-1.el7.x86_64.rpm ``` `wget` 在某些情况下可能对SSL证书的处理方式不同,可能会避免某些证书错误[^4]。 ### 5. 配置邮件通知(可选) 如果用户需要配置Zabbix的邮件通知功能,可以编辑 `mailx` 的配置文件,指定收件邮箱和用户密码: ```bash sudo vim /etc/mail.rc ``` 在文件中添加以下内容: ```bash set from=your_email@qq.com set smtp=smtps://smtp.qq.com:465 set smtp-auth-user=your_email@qq.com set smtp-auth-password=your_authorization_code set smtp-auth=login set ssl-verify=ignore set nss-config-dir=/etc/pki/nssdb/ ``` 保存并退出后,可以使用以下命令测试邮件发送功能: ```bash echo 123 | mail -s test your_email@qq.com ``` 此步骤虽然与SSL证书错误无直接关系,但在配置Zabbix时可能会用到[^2]。 ### 6. 检查NSS配置 如果出现 `NSS: client certificate not found (nickname not specified)` 错误,说明NSS(Network Security Services)配置存在问题。可以通过检查NSS配置和证书存储来解决此问题。具体步骤包括: - **检查NSS数据库**:确保 `/etc/pki/nssdb/` 目录中包含所需的证书- **重新初始化NSS数据库**:如果NSS数据库损坏,可以尝试重新初始化: ```bash sudo certutil -N -d /etc/pki/nssdb/ ``` 此步骤有助于解决与NSS相关的证书问题[^3]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值