Amazon ec2 certbot在两个不同的ec2实例上创建证书
问题 我有两个Amazon ec2 certbot在两个不同的ec2实例上创建证书,amazon-ec2,lets-encrypt,certbot,Amazon Ec2,Lets Encrypt,Certbot,问题 我有两个EC2实例正在运行。一个EC2实例当前正在托管我的网站,您可以看到它有一个有效的letsencrypt证书。我想在第二个EC2实例上创建一个证书,在那里部署我的应用程序。一旦我的应用程序部署到第二个EC2实例上,我将销毁第一个实例。但是,我无法获得在第二个EC2实例上创建的证书 错误 - The following errors were reported by the server: Domain: thechrisbolton.com Type: unauth
EC2
实例正在运行。一个EC2
实例当前正在托管我的网站,您可以看到它有一个有效的letsencrypt
证书。我想在第二个EC2
实例上创建一个证书,在那里部署我的应用程序。一旦我的应用程序部署到第二个EC2实例上,我将销毁第一个实例。但是,我无法获得在第二个EC2实例上创建的证书
错误
- The following errors were reported by the server:
Domain: thechrisbolton.com
Type: unauthorized
Detail: Invalid response from
https://thechrisbolton.com/.well-known/acme-challenge/kITr3I__o6eb_WH2cguR200gWnt998DN1s8xamtPIbM
[3.234.11.212]: "<html>\r\n<head><title>404 Not
Found</title></head>\r\n<body>\r\n<center><h1>404 Not
Found</h1></center>\r\n<hr><center>nginx/1.18.0</ce"
Domain: www.thechrisbolton.com
Type: unauthorized
Detail: Invalid response from
https://www.thechrisbolton.com/.well-known/acme-challenge/DhzxfraTsUeN3a7bXQhfzS36CTHRzlBUWVAHceD
ETB8
[3.234.11.212]: "<html>\r\n<head><title>404 Not
Found</title></head>\r\n<body>\r\n<center><h1>404 Not
Found</h1></center>\r\n<hr><center>nginx/1.18.0</ce"
-服务器报告了以下错误:
域名:thechrisbolton.com
类型:未经授权
详细信息:来自的响应无效
https://thechrisbolton.com/.well-known/acme-challenge/kITr3I__o6eb_WH2cguR200gWnt998DN1s8xamtPIbM
[3.234.11.212]:“\r\n404不是
找到\r\n\r\n404未找到
已找到\r\n
nginx/1.18.0无法获取在第二个EC2实例上创建的证书的原因。原因是域https://thechrisbolton.com/
未指向第二个EC2实例
它的工作原理
(为了便于解释,我简化了流程。)
certbot的工作方式是,它向“Let's Encrypt”发送请求,为给定域颁发证书(在本例中为https://thechrisbolton.com/
)。响应该请求,“让我们加密”(又名LE)给certbot一个文件(又名挑战)它需要把它放在一个可以从这个url通过互联网访问的位置http:///.well-known/acme-challenge/
.Certbot正是这样做的,并将文件放在运行Certbot--certonly
命令时指定的位置(您使用了选项--standalone
,在这种情况下,certbot在端口80上启动自己的服务器,并使文件在位置/.well-known/acme challenge/
可用),然后它调用“让我们加密”“再次表示文件已准备就绪,请给我证书。然后,LE点击此URL以验证文件是否在给定位置可用。如果找到文件,则仅颁发证书。所有这些都是为了确保请求证书的人拥有他请求证书的域
解决方案是什么?
如果您使用的是静态IP,那么只需将静态IP指向新的EC2实例,并将证书移动到新机器上,它就可以工作了
如果您无法做到这一点,请更新您的DNS条目以指向新EC2实例的公共IP,并运行与您现在运行的相同的certbot
命令