【问题标题】:AWS CloudFront to EC2 end-to-end encryptionAWS CloudFront 到 EC2 端到端加密
【发布时间】:2021-07-17 02:31:51
【问题描述】:

我需要端到端加密,所以目前的设置是:

example.com -> Route53 -> LB (TCP :80/443) -> Nginx Ingress with SSL certs installed

是否可以这样做:

example.com -> Route53 -> CloudFront -> LB (TCP :80/443) -> Nginx Ingress with SSL certs installed

当我将相同的证书附加到 CloudFront 时,我收到 502 CloudFront 错误。我在备用域名中列出了example.com,并将LB DNS 名称mylb123.elb.us-east-2.amazonaws.com 列为源域名。文档says 说明 Origin Domain Name 应该匹配 SSL 证书中分配给源的名称之一,但 SSL 是为 example.com 等真实域配置的,当然它不包括 *.elb.us-east-2.amazonaws.com 等。这让人困惑我。

您能否建议如何在 CloudFormation 端设置 SSL 或通过它并在 Ingress 端处理 SSL?

更新:

SSL 证书由 DigiCert 颁发,不是自签名的。

【问题讨论】:

  • 有可能。但是,您可以更新/更改证书吗?
  • 该证书由 DigiCert 提供,用于 EC2 实例端,因为需要端到端加密。我不认为将 *.elb.us-east-2.amazonaws.com 包含在该证书中是一个不错的选择,不是吗?
  • @jumpy 您不能将您的DigiCert 证书用于*.elb.us-east-2.amazonaws.com,因为该域不是您的。您需要拥有自己的域。我不明白您如何为 AWS 拥有的域注册证书?不管你做什么,这样的证书都是无效的。
  • 你说得对,我不能。 DigiCert 证书是为 example.com 配置的,但是当我将它用于 CloudFront 时,它会引发 502 错误。问题在于 CloudFront 和 Nginx 实例之间的 SSL 握手。我必须将 Host 标头列入白名单,以便 CloudFront 可以将其转发到源,请参阅下面的答案。无论如何感谢您的支持!

标签: amazon-web-services ssl ssl-certificate amazon-cloudfront amazon-route53


【解决方案1】:

对于您的来源,在您的案例中,您必须拥有有效的公共 SSL 证书。不能自签。这意味着您需要有一个适当的公共域来注册此类证书。

AWS ACM 免费 SSL 证书不适用于实例,除非在 enclate 中,因此您必须使用第三方来获取此类 SSL 证书。热门选择是https://letsencrypt.org/。或者,您可以在您的实例前面使用 ALB,并从 ACM 获取免费 SSL。

【讨论】:

  • SSL 证书已由 DigiCert 颁发,用于 Nginx 实例端,因为需要端到端加密。所以这不是自签名证书,我不得不提一下,对不起。无论如何感谢您的建议!
【解决方案2】:

我在non-related question 中找到了解决方案。

要使 SSL 正常工作而不会出现 502 ERROR The request could not be satisfied 错误,我必须在 CloudFront 分配中将我的域(例如 example.com)指定为备用域名,附加为 example.com 配置的 SSL 证书,非常重要的是,将 @987654325 列入白名单@ 缓存行为中的标头。这使得 SSL 握手可以在 CloudFront 和 Nginx 之间工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-26
    • 2018-05-17
    • 2021-09-06
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 2019-12-25
    • 1970-01-01
    相关资源
    最近更新 更多