问题标签 [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.
amazon-web-services - 带有通配符的 ACM 证书不适用于新创建的子域
我最近的基础设施具有以下设置:
- Route53 上的域为
example.com
. - 几个子域,例如
blog.example.com
等dev.example.com
。 - ACM 上的证书,
*.example.com
作为其条目。
一切都按预期工作,直到我被要求添加另一个域,例如abc.dev.example.com
. SSL 不适用于这个新创建的子域。
我以前的经验建议为这个新子域创建一个新证书,它之前也对我有用。但这似乎不是最佳实践。我可以刷新/更新我当前的证书以适应新的子域吗?
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
.
我很感激任何建议来解决这个问题。
- 我的想法是否正确,因为我使用的是 ACM 和 Cloudfront,所以不需要在服务器上配置任何东西(例如,localhost 证书、端口 443 上的 apache 虚拟主机等),我只需要确保Cloudfront、我的 DNS 记录和 EC2 实例都配置了相同的 IP 地址?
- 什么是解决问题的合乎逻辑的方法?我遇到了许多建议(例如,在服务器上安装 SSL、在端口 443 上配置虚拟主机等),但似乎没有一个与我的情况完全匹配。知道我是否专注于正确的地方会很有用。(顺便说一句,我在其他地方托管了一个子域,它仍然按预期响应 https,所以我猜我忽略了 EC2 实例上明显的一些东西)。
很高兴根据需要提供更多信息。感谢您的任何想法或建议。
amazon-web-services - 使用 Cloudflare 的 AWS ACM 证书链
我正在尝试使用AWS Web UI从 Cloudflare导入证书,但我被困在此页面中:
我读到 Cloudflare 中的等价物Certificate Chain
是 Origin Certificates(对此不是 100% 确定),所以我创建了一个并选择了RSA certificate
,当我尝试在 AWS 中完成导入时,它说:
有谁知道有什么问题?
谢谢
编辑:
我尝试了根 CA,它也不起作用:
这是来自 AWS 的“解决方案”:
“无法使用证书链验证证书。”
如果 ACM 无法将证书与提供的证书链匹配,请验证证书链是否与您的证书相关联。您可能需要联系您的证书提供商以获得进一步的帮助。
amazon-web-services - 借助 ACM 证书 ARN 查找 ELB 负载均衡器
如果我们有 ACM 证书的 ARN,有什么方法可以知道 ACM 证书附加到哪个负载均衡器 ELB?
我知道相反的情况是可能的。
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 个负载均衡器后面,我什至不确定这是否可行。
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。
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。
2.在我的浏览器中仍然看到“您与本网站的连接不安全”。
3.我将 Route53 设置为 Cloudfron DNS,但在浏览器中出现“重定向过多”错误。
amazon-web-services - AWS CDK Python - 使用 Route53 进行证书管理器 DNS 验证
我一直在尝试在 Python 中使用 CDK 设置 DNS 证书验证。
我的代码如下所示:
我似乎无法理解的问题是
- 我如何通过 CDK 告诉 AWS 设置所需的 DNS CNAME 记录以验证证书和
- 默认情况下如何将其设置为 TLS 1.2(不是 TLS 1.0)
我看到的问题是:
- 控制台的 ACM (AWS Certificate Manager) 中生成了 3 个证书。-> 这是错误的,它应该只产生一个
- CDK 似乎不会自动添加 CNAME 记录,所以我尝试在 CloudFormation 正在进行时手动添加它。但是,这也不起作用。
重要的是要补充一点,所有 6 条生成的 CNAME 记录都是相同的,因此在 Route53 的托管区域配置中始终只需要一条 CNAME 记录(我设置了,但似乎没有区别)
linux - 获取证书文件的颁发者和主题的简单方法
从我的 AWS 账户中的域获取证书,证书由 AWS ACM 颁发:
该文件中有 3 个项目。我想获取该文件中每个项目的发行者和主题。我在网上找到了以下内容,它工作正常:
不过实话说?除非您每天都使用这些东西,否则无法记住这一点。当然有更简单的东西吗?Ubuntu 上可用的另一个命令,或者 Python 或 Go 中的库,或者其他什么?任何使基本证书管理比 openssl 更简单的东西都将不胜感激。
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.com
、www.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
。