【问题标题】:Connect cloudfront with Elastic Beanstalk Application将云端与 Elastic Beanstalk 应用程序连接起来
【发布时间】:2022-07-21 06:06:10
【问题描述】:

我正在尝试将云端与 EBS 连接。

什么设置?

  • EBS 正在托管一个 nodeJs 应用程序。

  • Cloudfront 源设置为弹性负载均衡器并接受 HTTPS 仅 [Cloudfront 配置]

  • 所有备用域均已正确添加。

  • ACM 证书已添加到 Cloudfront [美国东部地区 - N.Virgina]

  • EC2 实例/EBS 位于亚太地区。 ACM 证书 安装在负载均衡器中的也来自亚太地区。

我还在负载平衡器侦听器的帮助下重定向 http 流量。

安全组允许流量到端口 443 。 没有设置 AWS WAF。

原点设置:-

今天已经过去了。

我在不断尝试。

我可以使用路由 53 将 DNS A 和 AAA 记录设置到云端,同时获得下拉值。

我可以将域直接停放在 EBS 上,并且它们可以通过 https 正常工作。

得到 502 ERROR : 无法满足请求。

已经试过https://aws.amazon.com/premiumsupport/knowledge-center/resolve-cloudfront-bad-request-error/

我怀疑我的 ELB 是否有来自 亚太地区 的 ACM 证书,但云端使用的 ACM 证书来自 US EAST,这是导致问题的原因吗?我现在无法更改 EBS 区域。

【问题讨论】:

  • 您可以使用 HTTPS 直接访问您的 EB 吗?没有 CF 也能正常工作吗?
  • 是的,它显示 SSL 错误。 [您与本网站的连接不安全] 但我可以访问。 @Marcin

标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-cloudfront amazon-elb


【解决方案1】:

你好像没有setup https on your EB。但是您使用的是HTTPS only origin。这就是为什么它不起作用。您必须具有 http 来源,或者实际上在您的 EB 上正确设置了 https。

【讨论】:

  • 非常感谢您的回复。我可以直接使用 EBS 添加域,并且它们通过 https 工作。从 ACM 到 ELB 的 SSL 证书。但是通过云端做是行不通的。如果我不只设置 HTTPS,它会创建一个到裸 EBS 域的重定向。
  • @XenonCI 您的来源必须是通过 HTTPS 工作的自定义域。您无法连接到默认的 EB url,因为这仅适用于 HTTP。
【解决方案2】:

感谢@Marcin 发现我的愚蠢错误!

这是因为ELB不接受

仅限https

来自云端的配置。 但我已经设置监听器将所有 HTTP 流量重定向到 HTTPS, 和 HTTPS 流量指向我的实例。

查明@Marcin提到的原因后

我是如何解决这个问题的:

  • 将云端原始请求更改为仅 http。

  • 设置自定义标题:

  • 然后向 ELB 添加了一个新侦听器,如果标头匹配,它将转发到我的实例,这将有助于 EBS 区分来自 Cloudfront 和其他来源的请求。

我仍然得到相同的响应,发现响应来自缓存。只需要使云端缓存无效。它完成了! ?

https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Invalidation.html

【讨论】:

    猜你喜欢
    • 2016-01-09
    • 2013-11-21
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多