无法选择自定义 SSL 证书(存储在 AWS IAM 中)
Posted
技术标签:
【中文标题】无法选择自定义 SSL 证书(存储在 AWS IAM 中)【英文标题】:Unable to select Custom SSL Certificate (stored in AWS IAM) 【发布时间】:2015-04-20 23:14:04 【问题描述】:我将在 CloudFront 上创建一个新发行版。我已经使用 AWS CLI 在 AWS IAM 上传了我的 SSL 证书。该证书出现在新分发页面的自定义 SSL 证书下拉列表中,但它已禁用。
谁能告诉我为什么会这样?如何为此分发选择我的自定义 SSL 证书?
【问题讨论】:
您是否使用 root 帐户上传了证书? 【参考方案1】:AWS 花了一整天的时间将新证书传播到其所有节点。第二天,当我登录到我的 AWS 控制台时,证书出现在下拉列表中并且也已启用,我可以成功配置分发。
另外,请务必在提出证书申请时选择us-east-1
(弗吉尼亚北部);它是目前唯一支持它的区域(即使您的存储桶/资产在另一个区域)
【讨论】:
已经等了3天了,很遗憾 在弗吉尼亚北部重做证书解决了我的问题。奇怪的是,证书实际上在不同地区有不同的问题状态......哈哈 在创建新的 CloudFront 分配时,Amazon 明确指出“您可以使用存储在美国东部(弗吉尼亚北部)区域的 AWS Certificate Manager (ACM) 中的证书,也可以使用存储的证书在 IAM 中。” 根据docs.aws.amazon.com/acm/latest/userguide/acm-services.html 和aws.amazon.com/certificate-manager/faqs 的说法,“要将 ACM 证书用于 CloudFront,您必须在美国东部(弗吉尼亚北部)区域申请或导入该证书”。 我使用 ACM 中的 N.Virginia 区域和 DNS 验证创建了一个证书。它在 10 分钟内工作。【参考方案2】:仅在美国东部的 AWS Certificate Manager (ACM) 中注册的证书 (弗吉尼亚北部)区域将启用在 CloudFront 中使用
【讨论】:
很高兴它被记录在某处:D 这些天他们在 cloudFront 的证书部分上面给出了一个小文本。我们往往会错过这些信息。【参考方案3】:如其他 cmets 所述,将证书导入 IAM 或通过 ACM 在 us-east-1 中创建。
等待验证完成,即不是橙色。
加载云端分发设置编辑页面。 如果自定义 SSL 选项显示为灰色,请退出控制台并重新登录。完成此步骤后,灰色选项对我来说是活跃的。我想它以某种方式被缓存并且注销登录刷新它。【讨论】:
什么?!现在是 2020 年,这实际上仍然是解决办法。 是的,我浪费了一个小时来弄清楚你需要注销并登录...... 这是最好的答案。在注册我的 ACM 证书后,注销/登录最终为我解决了这个问题。 成功了 :-) 感谢您的提示为我节省了很多时间【参考方案4】:只需等待几分钟,然后重新加载 distribution settings
页面即可查看自定义 SSL 选项已启用。
我遇到了同样的问题,没有使用我的AWS
root 帐户,并且IAM
路径正确设置为/cloudfront/
。
【讨论】:
【参考方案5】:登录到控制台并使用此 URL:https://console.aws.amazon.com/acm/home?region=us-east-1#/wizard/,它将起作用。关键是地区。
【讨论】:
是的,这对我也很有效。 (然后我回去简单地删除了我在 region=us-west-2 下制作的证书)【参考方案6】:我遇到了类似的问题,将证书导入 AWS Certificate Manager 对我来说更顺利。
如果您将 AWS Certificate Manager 与 S3 存储桶一起使用,请确保将证书导入美国东部(弗吉尼亚北部)区域。截至今天,这是 ACM 中唯一支持 S3 的区域。见https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html
【讨论】:
准确!这是这个问题的解决方案 - 谢谢 Ryan 这就是解决方案!更多相关链接:docs.aws.amazon.com/acm/latest/userguide/acm-regions.html:要将 ACM 证书用于 Amazon CloudFront,您必须在美国东部(弗吉尼亚北部)区域申请或导入证书。此区域中与 CloudFront 分配关联的 ACM 证书将分发到为该分配配置的所有地理位置。【参考方案7】:证书颁发后返回云端首页并刷新页面。它对我有用
【讨论】:
遇到尴尬的情况,谁知道这是解决方案:D【参考方案8】:现在没有显示的原因可能是你设置的iam路径不是/cloudfront/[1]。您可以使用与上传证书相同的 cli 更改 / 的默认路径,或者您可以再次上传证书。如果这不能解决问题,请告诉我。
-
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/SecureConnections.html#CNAMEsAndHTTPS
【讨论】:
【参考方案9】:确保您没有使用 AWS 根账户上传证书。如果您使用 root 帐户,证书将可见,但您将无法选择它。
相反,创建一个具有足够权限的新 IAM 用户(我使用了一个分配了管理策略的账户)并使用这些凭证上传证书。然后证书应该可用。
【讨论】:
这对我有用,我以 root 用户身份创建了证书,但在编辑分发版时自定义 SSL 设置被禁用,即使我可以在下拉菜单中看到证书作为选项。创建管理员用户并以该帐户登录后,该选项不再被禁用。【参考方案10】:如果您在另一个区域(不是 us-east-1)申请证书,请将您的区域设置为 us-east-1 并再次申请证书。我只是在 ap-northeast-2 中请求相同的域名,它会立即生效。
【讨论】:
【参考方案11】:前端好像有错误。
试试这个,它对我有用:
使用浏览器的检查工具进入 HTML。 从单选按钮和当前灰显的文本框中删除“禁用”属性。 然后插入您的证书的 ARN。 填写您的表单。【讨论】:
【参考方案12】:使用这个:
"Effect": "Allow",
"Action": [
"iam:DeleteServerCertificate",
"iam:UploadServerCertificate",
"iam:ListServerCertificates",
"iam:GetServerCertificate"
],
"Resource": "*"
【讨论】:
嗨@d.balu,您能否为您的回答提供更多解释?【参考方案13】:我看到已经有很多好的答案,其中任何一个都可能是您的Custon SSL Certificate
部分被禁用的原因。我想我刚刚找到了另一个,这就是我的情况:
对于包括 CloudFront 在内的许多“集成服务”,仅支持少数算法和密钥大小。我试图使用我的 RSA 4096 位证书和足够长度的密钥。
截至目前,对于“集成服务”而言,AWS 仅接受 1024 或 2048 位的密钥长度。
此处提及:https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html
【讨论】:
【参考方案14】:在我的情况下,它不是在 N.Virginia 地区请求 ACM,在 ACM 状态变为绿色后,我需要注销并登录以启用按钮。
【讨论】:
【参考方案15】:我遇到了同样的问题。所以我读了this
但对我来说,它仍然被禁用,因为它可能需要一整天的时间。
所以,我检查了 html 并删除了 disabled 属性并选择了证书。
【讨论】:
【参考方案16】:如果证书未显示在下拉列表中,您可以复制并粘贴证书的完整 ARN。通过选择您要使用的证书,可以在证书管理器中找到 ARN。
【讨论】:
【参考方案17】:AWS 根账户无法在 CloudFront 中选择自定义证书。
请使用以下策略创建新的 IAM 用户并使用该用户创建 CloudFront 分配,您可以选择自定义 SSL 证书。
"Version": "2012-10-17",
"Statement": [
"Effect": "Allow",
"Action": ["*"],
"Resource": ["*"]
]
【讨论】:
以上是关于无法选择自定义 SSL 证书(存储在 AWS IAM 中)的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu 上托管的 LAMP 应用程序的 AWS SSL 证书