CloudFront 和 EC2 Origin 之间的 SSL 证书使用啥 Origin 和 ServerName?

Posted

技术标签:

【中文标题】CloudFront 和 EC2 Origin 之间的 SSL 证书使用啥 Origin 和 ServerName?【英文标题】:Use what Origin and ServerName for SSL certificate between CloudFront and EC2 Origin?CloudFront 和 EC2 Origin 之间的 SSL 证书使用什么 Origin 和 ServerName? 【发布时间】:2017-12-03 11:40:38 【问题描述】:

我想在 Cloudfront Web Distribution 和单个 EC2 源服务器之间建立 HTTPS 连接。我已经研究过这个*** discussion,但我仍然需要帮助。我的域名“www.newb.com”使用 Route 53 指向 Cloudfront,并且该连接具有来自 ACM 的 SSL 证书。

这很好,但我还需要保护 CloudFront 和我的 EC2 源之间的连接。我目前有 CloudFront 指向 ec2-XX-XX-XX-XX.compute-1.amazonaws.com - 我的源服务器。

当我尝试获取 ec2-XX-XX-XX-XX.compute-1.amazonaws.com 的 SSL 证书时,Gandi 和 Certbot 返回错误。例如,Certbot 说“创建新 authz 时出错 :: Policy 禁止发布名称”。假设我无法在 Amazon 的 ec2-XX-XX-XX-XX 名称上获得 SSL 证书,我需要知道要使用的 DNS 名称以及如何配置 CloudFront 和我的服务器。

上面的讨论引用了一个子域名,例如,对我来说就像“origin.newb.com”。如果是这种类型的名称,我应该获得 SSL 证书:

1) 我应该将 CloudFront 指向哪里?到“origin.newb.com”还是到 ec2-XX-XX-XX-XX 或其他?

2) 当我配置 apache 的 443 端口监听器时,我将 ServerName 设置为什么?

3) 如果 ACM 已经为 www.newb.com 颁发了 SSL 证书,那么来自 Certbot 的“origin.newb.com”的第二个 SSL 证书是否会产生任何问题?

我的 EC2 是 Ubuntu 16.04 LTS LAMP 服务器。对于我的用例来说,单个源服务器就足够了,我不想为 ELB 付费。感谢您的帮助。

【问题讨论】:

【参考方案1】:

回答您的问题:

    Cloudfront 必须将自定义来源指向“origin.newb.com” 站点可用配置中的 ServerName 是 origin.newb.com 我已经在子域上颁发了多个证书,这没有问题。请记住,您也可以创建通配符证书示例:*.newb.com 并将其用于两个子域。

【讨论】:

那么 CloudFront 和我的 EC2 服务器如何“知道”“origin.newb.com”真的是 ec2-XX-XX-XX-XX? CloudFront 文档说:“如果您的源是 HTTP 服务器,请键入资源的域名。文件必须是公开可用的。”我是否在 CloudFront 中将 ec2-XX-XX-XX-XX 设置为 CNAME?我想我对 CloudFront 和我的 EC2 服务器如何将“origin.newb.com”与公共 DNS ec2-XX-XX-XX-XX 匹配感到困惑。 newb.com 的各位,谢谢! 在Route 53中新建一条记录集,子域名为A类型记录,iPV4.Set-Alias为no,值为实例的IP。 啊。所以我至少会放入这些 Route 53 记录集:1-“www.newb.com A ALIAS d31XX.cloudfront.net”2-“www.newb.com AAAA ALIAS d31XX.cloudfront.net”和 3-” origin.newb.com A [弹性 IP]”?这样,当我将 CloudFront 指向“origin.newb.com”时,CF 将“知道”源服务器是我的 EC2 弹性 IP?这就说得通了。 TY

以上是关于CloudFront 和 EC2 Origin 之间的 SSL 证书使用啥 Origin 和 ServerName?的主要内容,如果未能解决你的问题,请参考以下文章

Cloudfront 和 EC2

AWS 将 EC2 替换为 CloudFront

如何与 Cloudfront 和 ec2 节点服务器通信?

AWS Cloudfront 到 EC2 的混合 PHP 和静态内容

使用Cloudfront而不是单个EC2实例的AWS ELB设置有什么意义?

我可以将图像直接从客户端浏览器上传到 CloudFront 吗?