关于WordPress自己拥有根证书列表的话题
WordPress自己拥有根证书列表的故事。
简要概述
2021年9月30日,Let’s Encrypt使用的根证书已经过期。
在部署至服务器时,我使用WP CLI安装插件,但出现了与证书期限相关的错误,导致部署失败。下面我会详细描述经过的确认过程等。
结论
WordPress以前自己管理根证书。若使用依赖于WordPress功能的工具,如WP CLI等来下载插件等,程序内会指定该证书进行下载。该文件在GitHub上更新于10/4,但在9/22左右的次要版本更新中未包含此更改,并且在10/4之后未发布更新的WordPress版本,因此只下载了捆绑文件并进行了替换。
※ 虽然没有更新次要版本,但新下载的WordPress捆绑文件与正在运行的相同版本进行了更新,所以可能仅仅是未采用升级规则。
经过
-
- 在部署后发现部分功能无法正常工作
-
- 在部署日志确认时,确认在下载插件时curl因证书错误而失败
-
- 由于是curl,需要更新系统的根证书
-
- 如果直接输入curl命令,则可以成功,但仍无法解决部署时的日志问题
-
- 确认通过WP CLI程序直接指定下载WordPress提供的捆绑文件进行下载
-
- 更新WordPress所拥有的捆绑文件
- 确认部署时的错误日志已经解决
做过的事情 (zuò guò de shì
更新服务器上保存的系统证书。
因为通过yum安装了ca-certificates,所以下述命令可以进行更新。
$ sudo yum update ca-certificates
WordPress捆绑文件的更新
因为在覆盖前我想要备份一下,所以使用wget简单下载。
$ sudo wget https://raw.githubusercontent.com/WordPress/WordPress/master/wp-includes/certificates/ca-bundle.crt
整理
很少发生这种情况,但如果你正在使用WordPress,并且根证书发生了变更,你需要注意。
如果你正在使用WordPress内部的Request类等功能,那么将会使用WordPress自带的证书。