menu Zapic's Blog
account_circle
解决在某些情况下Certbot因为SSL问题无法签发Let's encrypt通配符证书的问题
date_range 2019-10-07
apps 教程
local_offer 查看标签
comment 0 条评论

这个博客是在一台手机上面运行的你们造么?
最近网站证书要过期了(虽然套了cloudflare但是不想要他那10年证书),于是手动renew一波.
结果发现报错:

An unexpected error occurred:
SSLError: HTTPSConnectionPool(host='acme-v02.api.letsencrypt.org', port=443): Max retries exceeded with url: /directory (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'ssl3_read_bytes', 'tlsv1 alert internal error')],)",),))
Please see the logfiles in /var/log/letsencrypt for more details.

然后我手动打开了https://acme-v02.api.letsencrypt.org/directory
发现没有问题.
为什么会有这种毛病,我到最后都不知道.
于是换回https://acme-v01.api.letsencrypt.org/directory,发现连接成功,但是无法签通配符证书.
然后我看了一下https://acme-v02.api.letsencrypt.org/directory的证书和连接信息,也没发现什么毛病.
但是很意外的发现有几个子域名可以用:

  1. acme-v02-1.api.letsencrypt.org
  2. acme-v02-2.api.letsencrypt.org
  3. acme-v02-3.api.letsencrypt.org
  4. acme-v02-4.api.letsencrypt.org
  5. acme-v02-5.api.letsencrypt.org
    5个备选(

然后我把挑战API换成了https://acme-v02-1.api.letsencrypt.org/directory,就好了 (
问题就是如此玄学.

名称不能为空
email
邮箱不能为空,请填写正确格式
link
网址请用http://或https://开头
message
评论不能为空
支持Markdown和LaTeX数学公式
sentiment_very_satisfied
keyboard_arrow_up