java多线程    Java入门    vsftp    ftp    linux配置    centos    FRP教程    HBase    Html5缓存    webp    zabbix    分布式    neo4j图数据库    

letsencrypt 续期域名无法被解析出错

./letsencrypt.sh ./letsencrypt.conf
Generate CSR...java-er.csr
Parsing account key...
Parsing CSR...
Registering account...
Already registered!
Verifying java-er.com...
java-er.com verified!
Signing certificate...
Traceback (most recent call last):
File "/tmp/acme_tiny.py", line 198, in
main(sys.argv[1:])
File "/tmp/acme_tiny.py", line 194, in main
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca)
File "/tmp/acme_tiny.py", line 161, in get_crt
raise ValueError("Error signing certificate: {0} {1}".format(code, result))
ValueError: Error signing certificate: 429 {
"type": "urn:acme:error:rateLimited",
"detail": "Error creating new cert :: too many certificates already issued for exact set of domains: java-er.com: see https://letsencrypt.org/docs/rate-limits/",
"status": 429
}

以上错误为每周申请次数太多,导致出错。无药可救,赶紧换其他SSL

Traceback (most recent call last):
File "/tmp/acme_tiny.py", line 2, in
import argparse, subprocess, json, os, sys, base64, binascii, time, hashlib, re, copy, textwrap, logging
ImportError: No module named argparse

1.yum install python-argparse

2.手动安装python-argparse:

wget https://pypi.python.org/packages/source/a/argparse/argparse-1.4.0.tar.gz#md5=08062d2ceb6596fcbc5a7e725b53746f
tar -xzvf argparse-1.4.0.tar.gz
cd argparse-1.4.0
python setup.py install

letsencrypt一周限制20次

下面为域名无法被letsencrypt解析的时候解决方案

我们在使用letsencrypt获取免费的HTTPS证书的时候,letsencrypt需要对域名进行验证。默认情况下它的验证方式是这样的:

certbot程序在web目录的根目录下放置一个文件。
letsencrypt的服务器通过域名来访问这个文件,来验证你申请的域名是属于你的
但有时候我们想为内网的某台主机设置HTTPS,因为内网的主机无法被letsencrypt的服务器访问到,certbot --nginx certonly就会出现Connection refused的错误。

为了解决上述问题,我们可以更改验证方式,使用DNS记录来验证域名。

利用certbot获取证书
运行sudo certbot --manual --preferred-challenges dns certonly命令,输入域名并同意记录本机IP后开始获取证书,接着certbot就会弹出如下的提示:

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:

IMdfdsfsJDqBRyRaaEgPPQlEuvtxJQAgWZTIVbLuzDi8U

Once this is deployed,
-------------------------------------------------------------------------------
Press Enter to Continue
1
2
3
4
5
6
7
8
9
此时certbot程序就会暂停,等待我们去添加DNS记录。

添加DNS的TXT记录
看到上述的提示后,修改域名的DNS记录,添加一条TXT记录,主机名为_acme-challenge,而其中的内容就是letsencrypt生成的随机字符串IMdfdsfsJDqBRyRaaEgPPQlEuvtxJQAgWZTIVbLuzDi8U。

验证成功
添加好DNS记录后,我们可以通过dig -t txt _acme-challenge.example.com来查看域名的内容,域名生效以后,在certbot程序中下按下回车键,程序继续运行。letsencrypt对DNS记录验证成功,证书就申请成功了。

参考文献


This entry was posted in Linux, 运营 and tagged , . Bookmark the permalink.
月小升QQ 2651044202, 技术交流QQ群 178491360
首发地址:月小升博客https://java-er.com/blog/letsencrypt-domain-xu/
无特殊说明,文章均为月小升原创,欢迎转载,转载请注明本文地址,谢谢
您的评论是我写作的动力.

Leave a Reply