事情还要从发稿前一天晚上说起...

当时咱正在用certbot给新子域名记录申请SSL证书...正当一切文件都配置完成之后,certbot果断爆炸。一看报错原因,是一个叫做pyOpenSSL的模块版本太老了,机器上只有0.13版本而最少需要0.14版本才行。于是下载最新版本执行setup.py install。

嗯,果断没什么卵用。通过OpenSSL.__version__查看模块版本是0.14,符合要求...于是咱经过深yi思qi熟zhi虑xia就执行了一下

yum remove pyOpenSSL -y
setup.py install
pip install certbot

然后cetbot就工作了...

结论就是通过yum安装的pyOpenSSL与手动安装的冲突...然后就浪费了我半个小时的时间(掀桌

但是蛋疼的事情还没有完...

certbot申请证书并没有成功...它获取到的challenge内容是一个大大的403。
这里先说一下我配置的策略,我是通过脚本切换两套Apache的配置文件来实现验证的,一个配置用于更新SSL证书,另一个则是用于日常使用。

所以咱当然去检查用于更新的配置文件去了咯,结果并没有发现任何问题(掀桌*2

就在我准备回滚的时候,发现了一个细节—/var/www/vef(用于renew的临时目录)的所有者为root而非apache…
好吧,执行chown之后一切正常了...
于是咱又浪费人生中的二十分钟(掀桌*3

最后值得一提,也有点感到后怕的事情是,咱发现咱只配置启用了博客程序目录下的htaccess,而其他几个应用一直都没启用...所以我的某些应用应该说是裸奔了很久了<-大笨蛋


最后总结一下三条学的教训吧。

  • 要注意Python模块版本冲突
  • 要注意目录权限问题
  • 注意配置文件作用范围
Last modification:March 26, 2017
博客维护不易,如果你觉得我的文章有用,请随意赞赏