AWS 自签名应用程序负载均衡器

AWS self-signed Application Load Balancer

我已经使用 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

Boto3:

ssl_certificate = iam_client.upload_server_certificate(
    Path = 'PATH_STRING',
    ServerCertificateName = 'CERT_NAME',
    CertificateBody = cert_body,
    PrivateKey = private_key)

您似乎使用了 Amazon ELB 不支持的密钥算法来生成您的证书。

使用 RSA 2048 而不是 4096 重新生成证书,您应该可以开始了。

https://aws.amazon.com/premiumsupport/knowledge-center/elb-ssl-tls-certificate-https/

与其在 ACM 中使用自签名 SSL,不如让 ACM 为您生成 SSL。它不会产生任何费用,并且适用于所有 AWS 资源。

此外,AWS 将管理它的自动旋转,因此您无需担心再次旋转它,而且您可以保证它在大多数浏览器中被认为是安全的。

这里有一个 link 用于通过 ACM 生成 SSL。这是在 AWS 中管理 SSL 的首选方式。

按照上述指南进行操作,它奏效了。

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

Boto3:

ssl_certificate = iam_client.upload_server_certificate(
    Path = 'PATH_STRING',
    ServerCertificateName = 'CERT_NAME',
    CertificateBody = cert_body,
    PrivateKey = private_key)