如何配置弹性beanstalk以将https与ACM证书一起使用?

时间:2016-04-18 18:09:16

标签: amazon-web-services https elastic-beanstalk

我使用AWS证书管理器创建ACM证书。

我按照本指南:https://medium.com/@arcdigital/enabling-ssl-via-aws-certificate-manager-on-elastic-beanstalk-b953571ef4f8#.kjh1mqdzq使用aws cli配置负载均衡器。

当我查看负载均衡器时,我现在看到端口配置下的443(HTTPS,ACM认证:[arn])转发到80(HTTP)

但是,如果我在浏览器中输入https,我会从Chrome获得“您的连接不是私密”消息。

我还缺少另一个步骤吗?

1 个答案:

答案 0 :(得分:1)

您尚未提供此信息,但我假设您有一个www.nyourdomain.com的CNAME正在解析为loadbalancer.amazonaws.com。

您收到ERR_INSECURE_RESPONSE错误,因为您正在使用正在解析为loadbalancer.amazonaws.com的CNAME。由于您的证书适用于www.yourdomain.com,因此它会提供有效的错误。 CNAME和Alias的运作方式略有不同。使用CNAME时,流量不是您网域的有效别名,因此,如果您尝试保护该网址,则会收到错误。但是,当您为www和别名创建A记录时,对于loadbalancer.amazonaws.com,来自www.balancew.com上的loadbalancer.amazonaws.com的任何流量都是您域名的有效流量,您将不再有这些错误。< / p>

要在loadbalancer.amazonaws.com上终止www.yourdomain.com的安全流量,您需要拥有一个将在那里添加别名的A记录。不幸的是,ELB只提供DNS条目,没有IP地址,但许多DNS提供商(即GoDaddy)不允许您拥有DNS地址别名的DNS A记录;它们要求您为IP地址添加别名。这让生活变得更复杂。

有几种方法可以实现此目的(SSL不支持URL转发和屏蔽),但最简单的解决方案是使用Route 53.使用Route 53不需要您注册或将您的名称转移到AWS托管区域每个域只需0.50美元/月。

要使用Route 53,请按照以下步骤操作:

  • 为yourdomain.com创建托管区域。在Route 53中创建托管区域时,它将完成一些默认记录(如A,NS和SOA记录)。请注意以后需要的NS记录。
  • 接下来将您现有的区域文件条目(如MX记录)从当前的DNS提供商复制到新的托管区域。
  • 当您想要将流量引导到您的ELB的记录时,您将输入名称,例如www,然后在类型选项字段下方,您将看到一个“Alias:yes”的无线电选项没有”。 - - 当您选择是时,值字段将消失,您将看到一个选项“Alias Target:输入目标名称”。点击该字段后,您会收到帐户中可以别名的资源下拉列表。只需选择您的负载均衡器。
  • 点击“创建”,您就完成了Route 53。 现在您的所有dns记录都被复制了,然后您将转到您的注册商并将名称服务器更改为Route 53为您提供的名称服务器。

现在,Route 53正在为您处理DNS。 loadbalancer.amazonaws.com是www.mydomain.com的有效别名。由于loadbalancer.amazonaws.com现在是www.yourdomain.com的有效别名,当您访问www.yourdomain.com时,您的ELB at loadbalancer.amazonaws.com将终止流量www.yourdomain.com并且您的错误将得到解决。