宝塔面板,集成了Let’s Encrypt免费SSL证书。一键申请快捷安装,无需其他操作。一直都很顺畅。刚好一个网站的SSL证书到期,搬家至新的云主机后不想再续费了,就申请Let’s Encrypt证书吧,以节约成本。

谁知出现一个大错误。从来没见过的“Invalid version. The only valid version for X509Req is 0.”。如下:

工作记录:宝塔面板申请Let’s Encrypt免费证书出现Invalid version的解决之道-贵州网站建设-GZWEB.CN(Web.co.Ltd[CN])贵州区域网站建设者!

有点儿摸不着头脑,一筹莫展之际,却又找到了答案。原来开始用的搜狗还是360,没有带invalid关键词去搜索,后来换为百度搜索:宝塔 SSL invalid,终于找到了答案。并实践,立马申请Let’s Encrypt免费SSL证书成功。

以下是具体的解决方法,摘录如下:

通过宝塔面板的文件,找到文件目录:/www/server/panel/class下面的acme_v2.py文件。

双击文件进入编辑,并通过搜索找到X509Req.set_version(2)代码段 ,将其改为X509Req.set_version(0)

工作记录:宝塔面板申请Let’s Encrypt免费证书出现Invalid version的解决之道-贵州网站建设-GZWEB.CN(Web.co.Ltd[CN])贵州区域网站建设者!

修改完成之后保存文件,并重启宝塔面板。重启面板即可,不需要重启主机。

来自:https://blog.1314.cool/post/70.html

仅仅就是一个改动,改2为0。就成功了!神奇!

另一篇博文说出的其中的原因:

宝塔面板申请ssl证书报错 Invalid version. The only valid version for X509Req is 0.的原因是由于服务器端使用了不兼容的 OpenSSL 版本导致的,服务器端的X509Req 版本只支持 0,而宝塔这边默认的版本为2。

此外,还有一种解决方法,即是服务器端升级对应的Openssl版本。

btpip install pyOpenSSL==22.1.0

btpip install cffi==1.14

然后重启面板服务(不用重启服务器,执行bt 1 重启面板服务加载新的配置即可)。

原文参见:https://zhuanlan.zhihu.com/p/634565620

由于目前问题已经解决,这种方式甲爸就不去实践了。作为参考即可。看完此文有兴趣的,可以好好整一整。

工作记录:宝塔面板申请Let’s Encrypt免费证书出现Invalid version的解决之道-贵州网站建设-GZWEB.CN(Web.co.Ltd[CN])贵州区域网站建设者!

6.16日发现宝塔面板已有8.0版本。采用升级OPENSSL的方式,解决了这个问题。那使用8.0及后续版本,这个问题出现的机率应该极低。