我已请求公共 ACM 证书,并选择了 DNS 验证方法。请求证书后,它进入待验证状态。我在 Route 53 中创建了一个托管区域,其域名与我用于证书的域名相同。创建证书后,我获得了“在 Route 53 中创建记录”选项。我已使用 CNAME 在 Route 53 中创建记录,并显示为“成功 DNS 记录已写入您的 Route 53 托管区域。传播更改以及 AWS 验证域和问题可能需要 30 分钟或更长时间证书。”。但证书的状态并未改变,仍处于等待验证状态。一段时间后,“在 Route 43 中创建记录”选项再次启用。我几乎一天多次尝试相同的过程,但状态没有改变。有人可以帮忙解决这个问题吗?
我很惊讶地发现,在使用 axios 和 node-fetch 时,AWS ACM 颁发的公共证书会触发“无法验证第一个证书”错误。但是,当我从命令行使用curl 时,我没有收到错误。所以我的问题是:
为什么节点会有这样的行为?Curl 似乎可以使用底层操作系统,该操作系统认可 AWS ACM 颁发的证书的 CA 机构;节点是否有自己的一组 CA 权限?
如何在不启用rejectUnauthorized配置中的选项的情况下解决此问题httpsAgent?有没有办法让节点表现得像curl一样,例如使用操作系统的一组公认的CA机构?AWS ACM 控制台中是否有某些设置可以使证书更适合 axios?
注意:我对配置 axios 以识别任何特定 CA 证书的解决方案不感兴趣(我想要一个通用解决方案,使我能够 ping 多个我不一定控制的 AWS ACM 颁发的证书)。
编辑:我正在使用 OSX 11.3。
谢谢!
我正在开发一个 Web 应用程序。
我的应用程序在子域上运行 app.mydomain.com 
我需要为我的应用贴上白标。我要求我的客户通过 CNAME 将他们自己的网站指向我的应用程序。
design.customerwebsite.com 指着 app.mydomain.com
这是我试图解决这个问题的方法。
我创建了一个/etc/nginx/sites-available名为为文件customerwebsite.com
添加符号链接的新文件。
我使用certbot以下命令安装了 SSL 。
sudo certbot --nginx -n --redirect -d design.customerwebsite.com
这是我的 NGINX conf 文件的代码 customerwebsite.com
server
{
 server_name www.customerwebsite.com;
 return 301 $scheme://customerwebsite.com$request_uri;
}
server {
#  proxy_hide_header X-Frame-Options;
 listen       80;
 listen       443;
  server_name design.customerwebsite.com;
        ssl_certificate /etc/letsencrypt/live/design.customerwebsite.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/design.customerwebsite.com/privkey.pem;
 root /opt/bitnami/apps/myapp/dist;
  location / {
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_hide_header X-Frame-Options;
      proxy_pass http://localhost:3000;
  }
 proxy_set_header X-Forwarded-Proto $scheme;
 if ( $http_x_forwarded_proto != …nginx ssl-certificate multi-tenant amazon-web-services aws-acm
我已经使用 Boto3 创建了一个 ALB,并希望配置该负载均衡器在 HTTPS(自签名)上工作。为此,我必须使用 open-ssl 生成 SSL 证书:
openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout key.pem -out cert.pem 
然后,我将证书导入到 AWS ACM 中,没有出现任何问题:

配置 ALB 侦听器时,我在列表中没有看到证书:
可能是什么问题呢?我已导入证书并在同一区域配置 LB。
我已经用 RSA 2048 重新生成了证书,仍然得到相同的结果。此外,它似乎不在证书列表中:

- - - - - - - - - - - 更新 - - - - - - - - - - -
按照上面的指南进行操作,结果成功了。
https://medium.com/@francisyzy/create-aws-elb-with-self-signed-ssl-cert-cd1c352331f
奇怪的是,我使用上面的命令成功地将证书上传到 IAM:
AWS CLI:
aws iam upload-server-certificate --server-certificate-name CERT_NAME --certificate-body file://public.pem --private-key file://private.pem
波托3:
ssl_certificate = iam_client.upload_server_certificate(
    Path = 'PATH_STRING',
    ServerCertificateName …openssl amazon-web-services amazon-elb aws-application-load-balancer aws-acm
我使用 terraform 在 ap-southeast-1 中设置了 AWS 基础设施,但是,我想使用 aws_alb_listener 资源将在 us-east1 中创建的 ACM 证书链接到我的负载均衡器。
resource "aws_alb_listener" "https" {
  load_balancer_arn = aws_lb.main.id
  port              = 443
  protocol          = "HTTPS"
  ssl_policy        = "ELBSecurityPolicy-2016-08"
  certificate_arn   = var.acm_certificate_arn
  depends_on        = [aws_alb_target_group.main]
  default_action {
    target_group_arn = aws_alb_target_group.main.arn
    type             = "forward"
  }
}
当我应用 terraform 时,它会引发错误。
是否可以使用 terraform 将 ACM 证书附加到来自不同区域的 alb?
我的用例是该证书还将在 AWS CloudFront 中用作 CDN。
amazon-web-services terraform terraform-provider-aws aws-acm
我最近的基础设施有以下设置:
example.com.blog.example.com,例如dev.example.com等。*.example.com其条目。一切都按预期进行,直到我被要求添加另一个域,例如abc.dev.example.com. SSL 不适用于这个新创建的子域。
我之前的经验建议为这个新子域创建一个新证书,它之前也对我有用。但这似乎不是最佳实践。我可以刷新/更新我当前的证书以适应新的子域吗?
ssl amazon-web-services amazon-route53 aws-certificate-manager aws-acm
aws-acm ×6
amazon-elb ×1
aws-application-load-balancer ×1
axios ×1
curl ×1
multi-tenant ×1
nginx ×1
node.js ×1
openssl ×1
ssl ×1
terraform ×1