魏艾斯笔记使用定时发布文章功能很久了,最近两天突然显示:文章定时发布失败。这就有点奇怪了,定时发布文章功能很好用,老魏也习惯了使用这个功能。是什么原因导致失败了呢?
之前老魏也遇到过这个问题,使用代码解决了,阅读WordPress定时发布文章失败/解决WordPress定时发布失效的办法来了解当时是怎么操作的。而这次老魏换了一个思路来解决问题。
可能的原因
导致WordPress定时发布文章失败的原因,可能有以下几点:
- 服务器环境改变了
- 插件冲突
- WordPress 防火墙插件阻挡
- DNS 服务器工作不正常
- WordPress主题有问题
理论上说设置了定时发布文章,WordPress使用“Cron”方法来定时计划自动发布文章。上面这些都有可能成为妨碍定时发布的因素。
网络上有着各种说法和解决办法,经过回忆和分析,老魏认为不是上述原因导致的。
查找蛛丝马迹
接着看 WordPress站点健康,能不能找出一些蛛丝马迹。
在 WordPress后台>工具>站点健康,发现 REST API 遇到了错误,而 WordPress定时发布正是由 REST API 驱动的,找到了问题所在。
具体错误提示:cURL error 35: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version(http_request_failed),看上去和 SSL证书、TLSv1版本 有关。
此时老魏想起来前几天在腾讯云CDN中取消了 TLS1.2版本,只留下了 TLS1.3版本。
尝试恢复正常
于是我们打开腾讯云CDN控制后台,进入 内容分发网络>域名管理>HTTPS配置>TLS版本配置,勾选 TLS1.2版本。
等待几分钟后腾讯云CDN会把这些配置分发到各个CDN节点。
回头再去刷新 WordPress站点健康页面,系统会自动检测,发现“REST API 遇到了错误”的提示消失了,点击下面的【通过测试】按钮,找到 “REST API可用”的提示,说明恢复正常了。
进一步思考
一直以来魏艾斯笔记都能正常的定时发布,为什么会导致发布失败呢?取消 TLS1.2版本只是诱因,那么更深层次的原因是什么?
为什么取消TLSv1.0~1.2,只保留 TLSv1.3,请看如何开启TLSv1.3 为网站提速及安全加固,还是有好处的。
此时老魏想起来更早之前删除用了很久的 Really Simple SSL插件,似乎网站也能显示 SSL安全链接。
那么这次的问题是否和这个插件有关?为了证实这个猜想,老魏再次启用了插件后,去腾讯云CDN取消勾选 TLS1.2版本,回到 WordPress站点健康页面,再次看到“REST API 遇到了错误”的提示。
尝试失败了, 也不去折腾了。卸载了 Really Simple SSL插件(能正常 SSL),同时勾选上 TLS1.2和 TLS1.3,恢复到网站、CDN 本来的样子。
总结
这次操作解决了 WordPress定时发布失败的问题,顺带做了一个失败的尝试,我们不去深究原因,保持现状就好了。
暂无评论内容