SSL certificate problem: certificate has expired错误

组合蝉翼
• 阅读 5359

WordPress使用Let’s Encrypt方式api安装了错误:

$res = wp_remote_get( 'https://wosigncom/' );

if( is_wp_error( $res ) ){

echo $res->get_error_message();}

然后提示:cURL error 60: SSL certificate problem: certificate has expired

这错误是因为SSL证书根证书到期,发生的错误,需要补充根证书。

使用WoSign证书解决办法

域名提交到WoSign替换证书就可以了,有效期1年,浏览器信任度99%,带安全签章。

继续使用Let’s Encrypt证书解决办法。

Let’s Encrypt有效期3个月,会导致大部分浏览器不信任,网站不能访问。以下是解决办法说明

您需要更新/wp-includes/certificates/ca-bundle.crt文件的内容,将其更改为https://curl.se/ca/cacert.pem文件的内容。

在这种情况下更改核心文件是可以接受的,因为下次更新WP时,问题就会消失。

手动替换内容更新以解决问题

下载此文件 https://curl.se/ca/cacert.pem

使用上述下载以更新/wp-includes/certificates/ca-bundle.crt的内容。

好了,报错将不再出现。

或添加代码片段来修复报错

当您能够从管理面板运行代码时,使用代码会很方便,例如使用Code Snippets插件。

将以下代码添加到 themes functions.php 文件中(或在Code Snippets 插件中)

/**

*Gotohttp://yoursite.com/?update-w...

*/if(isset($_GET['update-wp-ca-bundle'])){

$crt_file=ABSPATH.WPINC.'/certificates/ca-bundle.crt';

$new_crt_url='http://curl.haxx.se/ca/cacert...';

if(is_writable($crt_file)){

$new_str=file_get_contents($new_crt_url);

if($new_str&&strpos($new_str,'BundleofCARootCertificates')){

$up=file_put_contents($crt_file,$new_str);

echo$up?'OK:ca-bundle.crtupdated':'ERROR:can`tputdatatoca-bundle.crt';

}

else{

echo'ERROR:can\'tdownloadcurl.haxx.se/ca/cacert.pem';

}

}

else{

echo'ERROR:ca-bundle.crtnotwritable';

}

exit;

使用后删除代码。

访问http://yoursite.com/?update-w...页面。(yoursite.com替换自己域名)

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
3年前
Spring Boot前后端分离项目配置SSL证书——HTTPS
网站添加免费SSL证书——HTTPS协议一、SSL证书的下载SpringBoot前后端分离项目配置SSL证书,需要申请两个证书。前端申请网站主域名的SSL证书,后端可以在域名管理里面新建一个子域名。例如我的项目前端域名为:www.mzwhzy.com,后端域名为:b
Stella981 Stella981
3年前
Nginx配置https
一、开启nginx的ssl模块1.未安装过nginx,编译安装配置参数如下:./configure\prefix/usr/local/nginx\withpcre\withhttp\_ssl\_modulessl模块\withhttp\_stub\_status\_module\wit
Stella981 Stella981
3年前
Nginx 配置 HTTPS 服务器
Nginx配置HTTPS并不复杂,主要有两个步骤:签署第三方可信任的SSL证书 和 配置HTTPS签署第三方可信任的SSL证书关于SSL证书有关SSL的介绍可以参阅维基百科的传输层安全协议和阮一峰先生的 《SSL/TLS协议运行机制的概述》。SSL证书主要有两
Stella981 Stella981
3年前
Nginx 配置Https 协议
1\.去阿里云SSL证书购买证书!(https://oscimg.oschina.net/oscnet/3398ef872c4f1e56e01a1c79f270d756877.png) 2. 审核通过后下载nginx的ssl证书!(https://img2018.cnblogs.com/ibeta/1868441/202002/1
Wesley13 Wesley13
3年前
MySQL8开启ssl加密
1概述MySQL从5.7开始默认开启SSL加密功能,进入MySQL控制台后输入status可以查看ssl的状态,出现下图表示在使用ssl:!在这里插入图片描述(https://imgblog.csdnimg.cn/20200325131703934.png)另外,ssl加密需要密钥与证书,可以使用openssl手动生成或使用my
Stella981 Stella981
3年前
Nginx搭建 Https 运行Docker项目
一、环境介绍阿里云centos7.4Nginx/1.12.1Let’sEncrypt永久免费SSL证书Docker已打包好项目的镜像(详情参考http://www.cnblogs.com/killall007/p/8477484.html)二、Nginx安装首先安装ssl,pcre,zli
3A网络 3A网络
2年前
详解 SSL(三):SSL 证书该如何选择?
详解SSL(三):SSL证书该如何选择?在上一篇《详解SSL(二):SSL证书对网站的好处》中,我们知道了在网站部署SSL证书后,不管是对网站本身还是对网站的用户都能够带来许多好处。那么随着HTTPS的普及,市面上也出现了各种不同的SSL证书。并且由于SSL证书的多样性,很多人对于如何选择SSL证书有着很大的困惑。因此,本篇文章
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(