我确信这是一个典型的场景,但我找不到合适的步骤序列。
我在运行Apache的(例如)1.1.1.1上有一个www.example.com服务器。我正在使用Caddy在2.2.2.2上构建一个新服务器。为了测试,我将2.2.2.2 www.example.com
放在我的本地/ etc / hosts中。一旦所有工作正常,我将重新指定给凯迪的www.example.com DNS条目。
问题是我无法在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:
我假设是由www.example.com的DNS条目引起的,指向1.1.1.1,而不是2.2.2.2
那么我如何获得证书并启动Caddy以便我可以在更新公共DNS条目之前在2.2.2.2上测试www.example.com?
答案 0 :(得分:1)
为测试服务器创建一个新名称,例如test.example.com
。
将test.example.com
的DNS A记录指向与www.example.com
相同的地址。
获取包含这两个名称的Let's Encrypt证书。让我们加密可以让您在证书中输入您想要的名称。
获得证书后,将测试服务器的DNS A记录指向新地址。现在,您可以在生产服务器和测试服务器中使用相同的证书。
答案 1 :(得分:0)
首先,您真的应该只使用私有IP用于测试/试用站点。您可以使用以下任何一种
所以而不是
2.2.2.2 myexamplesite.com
使用
10.2.2.2 myexamplesite.com
也可以回答你的问题,使用let加密的球童TLS只有在letencrypt网站可以通过你无法控制的DNS服务器提供的公共ipaddress访问你的网站时才有效。这是出于非常基本的安全目的。
您可以生成自签名证书并使用它,但我担心无法以您想要的方式自动使用球童TLS。