2

我运行具有多个子域的 SaaS,并且客户也可以选择使用自己的域。

这意味着,我们托管例如:

customer1.ourdomain.com
customer2.ourdomain.com
www.customer3.com
www.customer4.com

通过 ACM 创建证书时,我必须确认所有域的新证书,这很公平,因为我可以接受。但是我们的客户无法忍受每次我们添加新证书时确认他们的域(因为我们仍然无法将域更新/添加到现有证书。)。

我的问题是,当必须确认域时,我可以以某种方式拦截正在发送的邮件吗?当然,我不能总是收到他们的邮件,但只是为了例如。hostmaster@customer3.com

如果需要,这些域可以移动到 Route 53,客户通常拥有它们很长时间,托管在其他地方。我们通常只为我们的 ELB 创建一个 CNAME。

其他人如何处理这个问题?

最好的问候,提前谢谢

4

1 回答 1

0

目前,您有两种选择:首先,AWS 允许您配置要发送验证电子邮件的基本域名。例如,您正在为子域请求 SSL,*.customer1.ourdomain.com或者*.customer2.ourdomain.com您可以指定ourdomain.com为验证域。

我可以配置将证书批准请求发送到的电子邮件地址吗?否,但您可以配置要将验证电子邮件发送到的基本域名。基础域名必须是证书请求中域名的超域。例如,如果您想要为 server.domain.example.com 申请证书,但想要将批准电子邮件发送到 admin@domain.example.com,您可以使用 AWS CLI 或 API 执行此操作。有关详细信息,请参阅 ACM CLI 参考和 ACM API 参考。

要进一步增强此过程,您可以尝试acmagent pip 库来自动执行 SSL 确认

pip install acmagent

请求 SSL

$ acmagent request-certificate --domain-name *.dev.example.com --validation-domain example.com
12345678-1234-1234-1234-123456789012

批准 SSL

$ acmagent confirm-certificate --certificate-id 12345678-1234-1234-1234-123456789012

更多示例可以在这里找到。

第二个选项是在托管区域中创建指向 SES 服务的 MX 记录,并使用 Lambda 函数来解析确认电子邮件正文。我发现一个看起来已经在这样做的现有项目:aws-acm-certificate-request-approver

希望这会有所帮助。

于 2017-05-03T23:46:35.673 回答