CentOS 7:在没有安装任何 SSL 证书的情况下出现 SSL 错误
CentOS 7: Error with SSL without having any SSL certificate installed
我使用我在 namecheap 购买的证书开始了 SSL 激活过程,我遵循了这个指南 https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-on-centos-7
但我停止了这个过程,因为激活花了很长时间而且从未起作用,SSL 被删除并从 namecheap 退还,所以我删除了我在 /etc/ssl 中创建的证书,我还清理了我的 nginx 块我网站的原始配置。
但现在每次使用 yum 或 composer 的调用或来自我的 website/server 的任何外部调用都显示与某些丢失的证书或错误有关的错误,如下所示:
用 yum
- 无法检索存储库的元链接:epel/x86_64。请验证其路径并重试
- https://rpm.nodesource.com/pub_6.x/el/7/x86_64/repodata/repomd.xml:[错误号 14] curl#77 - "Problem with the SSL CA cert (path? access rights?)"
有作曲家
- [Composer\Downloader\TransportException]
无法下载“https://getcomposer.org/versions”文件:SSL 操作失败
h 代码 1. OpenSSL 错误信息:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate 验证失败
无法启用加密
无法打开流:操作失败
使用从我的 API
调用 mailgun 的服务
- CurlFactory.php 第 187 行中的 RequestException:cURL 错误 60:SSL 证书问题:无法获取本地颁发者证书(参见 http://curl.haxx.se/libcurl/c/libcurl-errors.html)
你有什么想法吗?因为我研究了很多都找不到解决方案。
听起来您不仅删除了证书,还删除了操作系统附带的 CA 根证书包,以及您的所有 SSL 客户端系统用于验证他们需要与之通信的启用 SSL 的服务器的证书。
在我附近的 CentOS 6 机器上,CA 包是 /etc/ssl/certs/ca-bundle.crt
,来自 ca-certificates
包。我相信这些在 CentOS 7 中是相同的。您可以使用 rpm -V ca-certificates
检查丢失的文件,其中
如果是这种情况并且您不小心删除了 CA 包,您可以使用
恢复它
rpm -Uvh --replacepkgs http://mirror.centos.org/centos/7/updates/x86_64/Packages/ca-certificates-2017.2.11-70.1.el7_3.noarch.rpm
这将(重新)安装包含 CA 捆绑包的包。
我使用我在 namecheap 购买的证书开始了 SSL 激活过程,我遵循了这个指南 https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-nginx-on-centos-7
但我停止了这个过程,因为激活花了很长时间而且从未起作用,SSL 被删除并从 namecheap 退还,所以我删除了我在 /etc/ssl 中创建的证书,我还清理了我的 nginx 块我网站的原始配置。
但现在每次使用 yum 或 composer 的调用或来自我的 website/server 的任何外部调用都显示与某些丢失的证书或错误有关的错误,如下所示:
用 yum
- 无法检索存储库的元链接:epel/x86_64。请验证其路径并重试
- https://rpm.nodesource.com/pub_6.x/el/7/x86_64/repodata/repomd.xml:[错误号 14] curl#77 - "Problem with the SSL CA cert (path? access rights?)"
有作曲家
- [Composer\Downloader\TransportException] 无法下载“https://getcomposer.org/versions”文件:SSL 操作失败 h 代码 1. OpenSSL 错误信息: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate 验证失败 无法启用加密 无法打开流:操作失败
使用从我的 API
调用 mailgun 的服务- CurlFactory.php 第 187 行中的 RequestException:cURL 错误 60:SSL 证书问题:无法获取本地颁发者证书(参见 http://curl.haxx.se/libcurl/c/libcurl-errors.html)
你有什么想法吗?因为我研究了很多都找不到解决方案。
听起来您不仅删除了证书,还删除了操作系统附带的 CA 根证书包,以及您的所有 SSL 客户端系统用于验证他们需要与之通信的启用 SSL 的服务器的证书。
在我附近的 CentOS 6 机器上,CA 包是 /etc/ssl/certs/ca-bundle.crt
,来自 ca-certificates
包。我相信这些在 CentOS 7 中是相同的。您可以使用 rpm -V ca-certificates
检查丢失的文件,其中
如果是这种情况并且您不小心删除了 CA 包,您可以使用
恢复它rpm -Uvh --replacepkgs http://mirror.centos.org/centos/7/updates/x86_64/Packages/ca-certificates-2017.2.11-70.1.el7_3.noarch.rpm
这将(重新)安装包含 CA 捆绑包的包。