如何在没有 DNS 的情况下通过 Let's Encrypt 实现 Caddy 自动 TLS?
How do I achieve Caddy auto-TLS via Let's Encrypt without DNS?
我确定这是一个典型的场景,但我找不到合适的步骤顺序。
我在(比如说)1.1.1.1 运行 Apache 有一个 www.example.com 服务器。我正在使用 Caddy 在 2.2.2.2 上构建一个新服务器。为了测试,我把 2.2.2.2 www.example.com
放在我的本地 /etc/hosts 中。一切正常后,我会将 www.example.com DNS 条目重新指向 Caddy。
问题是我无法在 2.2.2.2 上启动 Caddy 来提供服务 www.example.com。
我明白了
[www.example.com] failed to get certificate: acme: Error 403 - urn:acme:error:unauthorized - Invalid response from http://www.example.com/.well-known/acme-challenge/6Xc4_oq6r0de25CtrYIw59YeVHvUWQ9Ag6H3XbGx8y0:
我认为这是由指向 1.1.1.1 而不是 2.2.2.2
的 www.example.com 的 DNS 条目引起的
那么我如何获得证书并启动 Caddy 以便我可以在更新 public DNS 条目之前在 2.2.2.2 上测试 www.example.com?
首先,您确实应该只将私有 IP 用于测试/试用站点。您可以使用以下任何一种
- 10.x.x.x
- 192.168.x.x
- (还有几个)
所以而不是
2.2.2.2 myexamplesite.com
使用
10.2.2.2 myexamplesite.com
此外,这也回答了您的问题,只有当 letencrypt 站点可以通过您无法控制的 DNS 服务器提供的 public ipaddress 访问您的站点时,使用 lets encrypt 的 caddy TLS 才有效。这是出于非常基本的安全目的。
您可以生成自签名证书并使用它,但我担心 caddy 的自动 TLS 无法按照您想要的方式实现。
为测试服务器起一个新名字,例如test.example.com
.
将 test.example.com
的 DNS A 记录指向与 www.example.com
.
相同的地址
获取包含两个名称的 Let's Encrypt 证书。 Let's Encrypt 允许您在证书中输入多少个名字。
获得证书后,将测试服务器的 DNS A 记录指向新地址。现在您可以在生产服务器和测试服务器中使用相同的证书了。
我确定这是一个典型的场景,但我找不到合适的步骤顺序。
我在(比如说)1.1.1.1 运行 Apache 有一个 www.example.com 服务器。我正在使用 Caddy 在 2.2.2.2 上构建一个新服务器。为了测试,我把 2.2.2.2 www.example.com
放在我的本地 /etc/hosts 中。一切正常后,我会将 www.example.com DNS 条目重新指向 Caddy。
问题是我无法在 2.2.2.2 上启动 Caddy 来提供服务 www.example.com。
我明白了
[www.example.com] failed to get certificate: acme: Error 403 - urn:acme:error:unauthorized - Invalid response from http://www.example.com/.well-known/acme-challenge/6Xc4_oq6r0de25CtrYIw59YeVHvUWQ9Ag6H3XbGx8y0:
我认为这是由指向 1.1.1.1 而不是 2.2.2.2
的 www.example.com 的 DNS 条目引起的那么我如何获得证书并启动 Caddy 以便我可以在更新 public DNS 条目之前在 2.2.2.2 上测试 www.example.com?
首先,您确实应该只将私有 IP 用于测试/试用站点。您可以使用以下任何一种
- 10.x.x.x
- 192.168.x.x
- (还有几个)
所以而不是
2.2.2.2 myexamplesite.com
使用
10.2.2.2 myexamplesite.com
此外,这也回答了您的问题,只有当 letencrypt 站点可以通过您无法控制的 DNS 服务器提供的 public ipaddress 访问您的站点时,使用 lets encrypt 的 caddy TLS 才有效。这是出于非常基本的安全目的。
您可以生成自签名证书并使用它,但我担心 caddy 的自动 TLS 无法按照您想要的方式实现。
为测试服务器起一个新名字,例如
test.example.com
.将
test.example.com
的 DNS A 记录指向与www.example.com
. 相同的地址
获取包含两个名称的 Let's Encrypt 证书。 Let's Encrypt 允许您在证书中输入多少个名字。
获得证书后,将测试服务器的 DNS A 记录指向新地址。现在您可以在生产服务器和测试服务器中使用相同的证书了。