问题标签 [aws-acm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

amazon-web-services - 带有通配符的 ACM 证书不适用于新创建的子域

我最近的基础设施具有以下设置:

  • Route53 上的域为example.com.
  • 几个子域,例如blog.example.comdev.example.com
  • ACM 上的证书,*.example.com作为其条目。

一切都按预期工作,直到我被要求添加另一个域,例如abc.dev.example.com. SSL 不适用于这个新创建的子域。

我以前的经验建议为这个新子域创建一个新证书,它之前也对我有用。但这似乎不是最佳实践。我可以刷新/更新我当前的证书以适应新的子域吗?

0 投票
0 回答
75 浏览

amazon-web-services - 迁移到新的 EC2 服务器后如何调试 NET::ERR_CERT_INVALID(证书在 AWS-ACM 上)

我在 AWS EC2 上设置了 LAMP 网络服务器。使用 AWS Certificate Manager 和 Cloudfront,它通过 https 提供我的域(example.com 和 *.example.com)。

我的 EC2 实例在软件更新期间遇到了一些问题!

我已经启动了一个新的 EC2 实例,恢复并设置了所有内容,现在它可以通过 http 正确提供我的域,并使用与以前完全相同的 IP 地址。

当我尝试通过 https 导航到域时,我得到NET::ERR_CERT_INVALID.

我很感激任何建议来解决这个问题。

  1. 我的想法是否正确,因为我使用的是 ACM 和 Cloudfront,所以不需要在服务器上配置任何东西(例如,localhost 证书、端口 443 上的 apache 虚拟主机等),我只需要确保Cloudfront、我的 DNS 记录和 EC2 实例都配置了相同的 IP 地址?
  2. 什么是解决问题的合乎逻辑的方法?我遇到了许多建议(例如,在服务器上安装 SSL、在端口 443 上配置虚拟主机等),但似乎没有一个与我的情况完全匹配。知道我是否专注于正确的地方会很有用。(顺便说一句,我在其他地方托管了一个子域,它仍然按预期响应 https,所以我猜我忽略了 EC2 实例上明显的一些东西)。

很高兴根据需要提供更多信息。感谢您的任何想法或建议。

0 投票
1 回答
884 浏览

amazon-web-services - 使用 Cloudflare 的 AWS ACM 证书链

我正在尝试使用AWS Web UI从 Cloudflare导入证书,但我被困在此页面中:

在此处输入图像描述

我读到 Cloudflare 中的等价物Certificate Chain是 Origin Certificates(对此不是 100% 确定),所以我创建了一个并选择了RSA certificate,当我尝试在 AWS 中完成导入时,它说:

有谁知道有什么问题?

谢谢

编辑:

我尝试了根 CA,它也不起作用:

在此处输入图像描述

这是来自 AWS 的“解决方案”:

“无法使用证书链验证证书。”

如果 ACM 无法将证书与提供的证书链匹配,请验证证书链是否与您的证书相关联。您可能需要联系您的证书提供商以获得进一步的帮助。

0 投票
1 回答
82 浏览

amazon-web-services - 借助 ACM 证书 ARN 查找 ELB 负载均衡器

如果我们有 ACM 证书的 ARN,有什么方法可以知道 ACM 证书附加到哪个负载均衡器 ELB?

我知道相反的情况是可能的。

0 投票
0 回答
132 浏览

amazon-ec2 - 在 AWS 私有托管区域中设置主机名域证书

我在 AWS EC2 上预置了一个 3-broker kafka 集群,我需要它们可以在内部 VPC 上通过 URL 等访问1.kafka.private.com。如果我没有附加证书,我知道使用 kafka 的系统(也许是代理本身) 将给出“SSL 握手”错误。

我在 ACM 中有证书*.private.com(这是一个示例),但我知道您不能将 ACM 证书直接附加到 EC2 实例,只能将负载均衡器和云端。

我在公共区域中建立了一个类似的集群并使用letsencrypt certbot 来颁发证书,但我无法知道,因为这个私有dns 不能公开解析。

我该如何设置?我不希望将 3 个代理中的每一个都放在 3 个负载均衡器后面,我什至不确定这是否可行。

0 投票
2 回答
954 浏览

amazon-web-services - 如何使用 terraform 将来自不同区域 (us-east1) 的 ACM 证书附加到另一个区域的应用程序负载均衡器

我使用 terraform 在 ap-southeast-1 中设置了 AWS 基础设施,但是,我想使用 aws_alb_listener 资源将我在 us-east1 中创建的 ACM 证书链接到我的负载均衡器。

当我应用 terraform 时,它会引发错误。

是否可以使用 terraform 将 ACM 证书附加到来自不同地区的 alb?

我的用例是这个证书也将在 AWS CloudFront 中用作 CDN。

0 投票
1 回答
91 浏览

amazon-web-services - 具有 ec2 源的 Cloudfront

我将 AWS Cloudfront 设置为 EC2 源,但我的设置存在一些问题:

1.备用域名(CNAME):xyz.com。

2.SSL证书:由ACM创建。

3.自定义 SSL 客户端支持:支持服务器名称指示 (SNI) 的客户端。

4.Origin域名为EC2 Public DNS。

5.Origin 协议策略:仅限 HTTP。

6.Minimum Origin SSL 协议:SSLv3。

7.查看器协议策略:将HTTP重定向到HTTPS。

8. 允许的 HTTP 方法:GET、HEAD。

问题:

1.当我调用 CloudFront 域名时,它是 a3xxxxxx.cloudfront.net,它重定向到 EC2 公共 DNS,而不是 CNAME。 云端 DNS

ECS 公共 DNS

2.在我的浏览器中仍然看到“您与本网站的连接不安全”。

3.我将 Route53 设置为 Cloudfron DNS,但在浏览器中出现“重定向过多”错误。

0 投票
1 回答
803 浏览

amazon-web-services - AWS CDK Python - 使用 Route53 进行证书管理器 DNS 验证

我一直在尝试在 Python 中使用 CDK 设置 DNS 证书验证。

我的代码如下所示:

我似乎无法理解的问题是

  1. 我如何通过 CDK 告诉 AWS 设置所需的 DNS CNAME 记录以验证证书和
  2. 默认情况下如何将其设置为 TLS 1.2(不是 TLS 1.0)

我看到的问题是:

  1. 控制台的 ACM (AWS Certificate Manager) 中生成了 3 个证书。-> 这是错误的,它应该只产生一个
  2. CDK 似乎不会自动添加 CNAME 记录,所以我尝试在 CloudFormation 正在进行时手动添加它。但是,这也不起作用。

在此处输入图像描述

重要的是要补充一点,所有 6 条生成的 CNAME 记录都是相同的,因此在 Route53 的托管区域配置中始终只需要一条 CNAME 记录(我设置了,但似乎没有区别)

0 投票
1 回答
39 浏览

linux - 获取证书文件的颁发者和主题的简单方法

从我的 AWS 账户中的域获取证书,证书由 AWS ACM 颁发:

该文件中有 3 个项目。我想获取该文件中每个项目的发行者和主题。我在网上找到了以下内容,它工作正常:

不过实话说?除非您每天都使用这些东西,否则无法记住这一点。当然有更简单的东西吗?Ubuntu 上可用的另一个命令,或者 Python 或 Go 中的库,或者其他什么?任何使基本证书管理比 openssl 更简单的东西都将不胜感激。

0 投票
0 回答
95 浏览

amazon-web-services - 在单个 EC2 实例上托管多个 API,并通过具有 HTTPS 的子域访问它们

我正在尝试在 AWS 上托管我的整个产品组合,其中包括 5 个 React + Node.js 应用程序(包括产品组合本身)。对于每个项目,我将前端托管在 S3 上,并在前端使用 CloudFront 分配。我已将投资组合设置为从我将调用的 Route53 自定义域提供服务,该域mydomain.com通过 ACM SSL 证书具有 HTTPS。其他应用程序可以使用其存储桶中的网站端点。我希望所有应用程序的前端通过调用与 EC2 实例交互,所需的 API 运行在哪个端口https://api.mydomain.com:${APP_PORT}/${ROUTE}APP_PORT我已经在我的实例上安装了 Node.js,克隆了 2 个 repos,并使用 PM2 启动了应用程序。每个应用程序都在监听 get 请求/并返回${APP_NAME} API working properly. 一个在端口 5000 上运行,另一个在 5001 上运行。我在附加到实例的安全组中有以下入站规则:

类型 协议 端口范围 资源
HTTP TCP 80 0.0.0.0/0
HTTP TCP 80 ::/0
SSH TCP 22 0.0.0.0/0
SSH TCP 22 ::/0
自定义 TCP TCP 5000 0.0.0.0/0
自定义 TCP TCP 5000 ::/0
HTTPS TCP 443 0.0.0.0/0
HTTPS TCP 443 ::/0
自定义 TCP TCP 5001 0.0.0.0/0
自定义 TCP TCP 5001 ::/0

目前,我可以通过实例和端口的公共IPv4 DNS调用每个API,这样就可以http://ec2-012-34-56-789.compute-1.amazonaws.com:5000/工作了http://ec2-012-34-56-789.compute-1.amazonaws.com:5001/。我想让它https://api.mydomain.com...改为使用。从我所见,我应该使用应用程序负载均衡器,然后在我的 Route53 托管区域上创建一个 A 记录。

这就是我卡住的地方。

我使用面向内部的方案、IPv4 IP 地址类型和以下侦听器创建了一个应用程序负载均衡器:

负载均衡器协议 负载平衡器端口
HTTP 80
HTTPS 443
HTTPS 5000
HTTPS 5001

我保留默认 VPC 并检查所有可用区。在安全设置中,我选择了我的 ACM 证书,其中包括mydomain.comwww.mydomain.com*.mydomain.com. 默认安全策略 ( ELBSecurityPolicy-2016-08)。接下来,安全组与我用于实例的安全组相同。这就是我认为我犯了一个错误的地方:我创建了一个新的目标组类型实例,协议 HTTP 和版本 HTTP1,以及端口 80。运行状况检查是通过 HTTP at 执行的/。我注册我的实例并单击创建。

我在 Route53 上创建了一条 A 记录,api.mydomain.com并将其作为指向应用程序负载均衡器的别名。目标群体完成健康检查并显示不健康。HTTP 获取对负载平衡器 DNS 名称的请求,或api.mydomain.com两者后跟任一端口 show 400 The plain HTTP request was sent to HTTPS port。HTTPS 请求分别显示Error: Hostname/IP does not match certificate's altnames...502 Bad Gateway