您需要在Elastic Load Balancer中正确配置SSL证书。
示例代码:
首先创建一个新的Load Balancer,将HTTPS监听器绑定到该Load Balancer上。
在“证书”下拉列表框中选择“从Amazon Web Services管理证书”。
选择你的AWS帐户,并选择SSL证书。
配置完成后,请使用DNS别名将您的Load Balancer名称映射到您的应用程序。
以下是示例代码:
resource "aws_elb" "example_elb" {
name = "example-elb"
security_groups = ["${aws_security_group.example_sg.id}"]
listener {
instance_port = 80
instance_protocol = "http"
lb_port = 80
lb_protocol = "http"
}
listener {
instance_port = 80
instance_protocol = "http"
lb_port = 443
lb_protocol = "https"
ssl_certificate_id = "${aws_acm_certificate.example_ssl.arn}"
}
health_check {
healthy_threshold = 2
unhealthy_threshold = 2
timeout = 3
interval = 30
target = "HTTP:80/"
}
cross_zone_load_balancing = true
idle_timeout = 400
}
此代码段使用aws_elb资源类型创建一个Elastic Load Balancer。此资源定义了两个侦听器。一个是标准HTTP侦听器,另一个是HTTPS侦听器。HTTP侦听器将连接到您的实例并将请求转发到标准端口80。HTTPS侦听器将仅通过传输安全地转发请求,并使用SSL证书。请注意,需要aws_acm_certificate资源才能将证书ID传递给HTTPS侦听器。