可以使用AWS证书管理器为多个子域使用同一个SSL证书。具体操作步骤如下:
登录AWS控制台,在“证书管理器”下创建一个证书。选择要保护的域名,并使用DNS验证方法完成身份验证。
等待证书过程完成之后,复制ARN(Amazon资源名称)。
在AWS控制台的EC2服务下,选择要安装SSL证书的负载均衡器。
转到“监听器”选项卡,然后选择要安装证书的端口和协议。
在“SSL证书”设置中,选择“从IAM证书托管加载SSL证书”选项。
在“证书ARN”文本框中输入第2步中复制的ARN。
点击“保存”以保存SSL证书更改。
示例代码:
以下是使用Python SDK的示例代码,可以轻松实现上面的步骤,从而为多个子域使用同一个SSL证书。
import boto3
# 创建证书
acm = boto3.client('acm')
response = acm.request_certificate(
DomainName='example.com',
ValidationMethod='DNS'
)
# 从响应中获取证书ARN
certificate_arn = response['CertificateArn']
# 更新负载均衡器的监听器
elbv2 = boto3.client('elbv2')
response = elbv2.modify_listener(
ListenerArn='listener-arn',
Port=443,
Protocol='HTTPS',
SslPolicy='ELBSecurityPolicy-2016-08',
Certificates=[
{
'CertificateArn': certificate_arn
}
]
)