如果我错了,请纠正我,因为我对所有服务器的事情都是新手。
我example.com
在主机 A 上托管了一个网站。我想在主机 B(本例中为 EC2 实例)上创建子域sub.example.com
。现在我通过更改子域上的 A 记录来指向此 EC2 实例的弹性 IP。我访问了它sub.example.com
,它成功了。太棒了。
但是,当我尝试使用 LetsEncrypt 添加 SSL 证书时出现错误:
To fix these errors, please make sure that your domain name was
entered correctly and the DNS A/AAAA record(s) for that domain
contain(s) the right IP address.
https://www.whatsmydns.net/让我在所有 DNS 服务器上都获得完整勾选
https://dnschecker.org/all-dns-records-of-domain.php显示我拥有同一个域名的两个 IP 地址。一个是 Ec2 实例,另一个是主域 ip。
WARNING
sub.example.com has multiple IP addresses in its DNS records. While they appear to be accessible on the network, we have detected that they produce differing results when sent an ACME HTTP validation request. This may indicate that some of the IP addresses may unintentionally point to different servers, which would cause validation to fail.
[Address=ec2.ip.addr,Address Type=IPv4,Server=nginx/1.10.3 (Ubuntu),HTTP Status=404] vs [Address=main.domain.ip.addr,Address Type=IPv4,Server=nginx,HTTP Status=301,Number of Redirects=1,Final HTTP Status=404]
在这一切中我的错误在哪里,我是否忽略了一些显而易见的东西?我如何为子域创建正确的 SSL 证书,或者从我的子域中删除错误的 IP 地址,以使其仍然指向 ec2 实例。
这有可能吗?非常感谢
答案1
您的子域目前有两条A
记录。Let's Encrypt 需要验证这两个地址才能颁发新证书。只需删除重复的记录,保留您的 EC 实例的记录即可。