检查以下几个问题,以解决AWS应用负载均衡器HTTPS未能正常工作的问题。
确保已在安全组中打开了HTTPS端口:在EC2控制台中,转到安全组,检查入站规则,确保443端口对于所需的安全组是打开的。
确保证书已正确设置:在负载均衡器监听器中检查绑定的证书是否正确设置,并确保证书状态为'已发布”。
确保目标组中的实例已正确配置:在目标组中检查实例是否正确配置,并确保在每个实例上已安装了负载均衡器绑定证书。
示例代码:
下面是一个创建AWS Application Load Balancer并为其绑定HTTPS证书的示例代码:
import boto3
elbv2 = boto3.client('elbv2')
# create a load balancer
load_balancer = elbv2.create_load_balancer(
Name='my-load-balancer',
Subnets=['subnet-12345', 'subnet-67890'],
SecurityGroups=['sg-123456']
)
# create a target group
target_group = elbv2.create_target_group(
Name='my-target-group',
Protocol='HTTP',
Port=80,
VpcId='vpc-12345',
)
# create a listener and attach it to the load balancer and target group
listener = elbv2.create_listener(
LoadBalancerArn=load_balancer['LoadBalancerArn'],
Protocol='HTTPS',
Port=443,
Certificates=[
{
'CertificateArn': 'arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012'
},
],
DefaultActions=[
{
'Type': 'forward',
'TargetGroupArn': target_group['TargetGroupArn']
},
]
)