如何解决自动 certbot 更新 NameCheap 上的通配符证书 - 端口 53 问题?
我正在尝试让 AWS/Lightsail Debian 服务器使用 certbot 自动更新证书。我的 DNS 使用 Namecheap。
我正在按照 https://blog.bryanroessler.com/2019-02-09-automatic-certbot-namecheap-acme-dns/ 和 https://blog.bryanroessler.com/2019-02-09-automatic-certbot-namecheap-acme-dns/ 上的步骤操作。我不断收到无权限错误。
我跑:
sudo certbot certonly -d "*.example.com" --agree-tos --manual-public-ip-logging-ok --server https://acme-v02.api.letsencrypt.org/directory --preferred-challenges dns --manual -- manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --debug-challenges
我明白了:
授权程序失败。 example.com (dns-01): urn:ietf:params:acme:error:unauthorized :: 客户端缺乏足够的授权 :: 在 _acme-challenge.example.com 找不到 TXT 记录
它说我需要打开端口 53。我跟着 Amazon's Lightsail instructions。 iptables 和 ufw 似乎都没有安装。当我nmap我的机器时,我没有看到53。我实际上安装了ufw,因为没有一个好主意,没有用。
我的/etc/acme-dns/config.cfg如下:
#/etc/acme-dns/config.cfg
[general]
# DNS interface
listen = ":53"
protocol = "udp"
# domain name to serve the requests off of
domain = "acme.example.com"
# zone name server
nsname = "ns1.acme.example.com"
# admin email address,where @ is substituted with .
nsadmin = "example.example.com"
# predefined records served in addition to the TXT
records = [
"acme.example.com. A <public ip>","ns1.acme.example.com. A <public ip>","acme.example.com. NS ns1.acme.example.com.",]
debug = false
[database]
engine = "sqlite3"
connection = "/var/lib/acme-dns/acme-dns.db"
[api]
api_domain = ""
ip = "127.0.0.1"
disable_registration = false
autocert_port = "80"
port = "8082"
tls = "none"
corsorigins = [
"*"
]
use_header = false
header_name = "X-Forwarded-For"
[logconfig]
loglevel = "debug"
logtype = "stdout"
logformat = "text"
对于 listen
值,我还尝试了 127.0.0.1:53 和 :53
/etc/letsencrypt/acme-dns-auth.py 的设置部分:
# URL to acme-dns instance
ACMEDNS_URL = "http://127.0.0.1:8082"
# Path for acme-dns credential storage
STORAGE_PATH = "/etc/letsencrypt/acmedns.json"
# Whitelist for address ranges to allow the updates from
# Example: ALLOW_FROM = ["192.168.10.0/24","::1/128"]
ALLOW_FROM = []
# Force re-registration. Overwrites the already existing acme-dns accounts.
FORCE_REGISTER = False
感谢您提供的任何帮助。
解决方法
如果您不想维护自己的 acme DNS 服务器,我构建并使用此脚本通过 certbot 自动更新 NameCheap 通配符证书。希望能帮到你:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。