全新安装的宝塔面板6.9.3用文件验证的方式取申请SSL证书的时候出错,信息如下:
{ "msg": "签发失败,我们无法验证您的域名:<p>1、检查域名是否绑定到对应站点</p><p>2、检查域名是否正确解析到本服务器,或解析还未完全生效</p><p>3、如果您的站点设置了反向代理,或使用了CDN,请先将其关闭</p><p>4、如果您的站点设置了301重定向,请先将其关闭</p><p>5、如果以上检查都确认没有问题,请尝试更换DNS服务商</p>", "status": false, "result": [ "", "Traceback (most recent call last):\n File \"/www/server/panel/class/letsencrypt.py\", line 24, in <module>\n import argparse, subprocess, json, os, sys, base64, binascii, time, hashlib, re, copy, textwrap, logging, requests\nImportError: No module named requests\n" ],
大鸟抓包了这个错误,丢一张图看看:
明显是缺少了 requests 模块,在linux终端手动安装 requests 模块以后,运行正常。不知道是不是大鸟自己遇到这个问题还是什么,这篇文章看看如何解决这个问题:
一:安装 requests 模块
我们用SSH连接服务器或者就用宝塔终端来安装 requests 模块:
pip install requests
看看安装的截图:
用命令[code]pip list [/code]显示是否安装,看图:
之后,我们用文件验证的方式取申请就顺利申请成功。
二:dns申请
我们可用dns申请的方式试试看,如果可以申请,则用dns申请,然后切回文件验证的方式申请,大鸟发现又可以申请了,大鸟在网上一通搜索,发现了可能有两个问题引起的:
- 确实是没有安装requests
- python环境的混乱,就是一台服务器上安装了很多个python的脚本,然后安装的requests只放置到了其中了一个版本的引用库中
究其原因,大鸟认为还是宝塔面板python环境的混乱的引起的这个问题,用命令来查看:
ls /usr/bin/
丢一张图:
发现确实有多个python。
三:总结
有可能我们会遇到No module named requests的错误,多数原因是python环境的混乱引起的,不过,我们依然可以安装 requests 模块来解决这个问题。
或者我们用dns申请的方式试试看,最后可用acme来申请试试看。