【发布时间】:2021-05-04 01:16:07
【问题描述】:
如果我做对了,lb_listener 只接受 forward 作为有效的操作类型。 https://www.terraform.io/docs/providers/aws/r/lb_listener.html 如何配置侦听器以将 HTTP 重定向到 HTTPS?
即这是 elb 监听器中所需的状态:
【问题讨论】:
标签: terraform elastic-load-balancer
如果我做对了,lb_listener 只接受 forward 作为有效的操作类型。 https://www.terraform.io/docs/providers/aws/r/lb_listener.html 如何配置侦听器以将 HTTP 重定向到 HTTPS?
即这是 elb 监听器中所需的状态:
【问题讨论】:
标签: terraform elastic-load-balancer
此功能已添加到 AWS 提供商和 released with 1.33.0。
以下是使用aws_lb_listener resource 对负载平衡器侦听器设置默认操作的方法:
resource "aws_lb" "front_end" {
# ...
}
resource "aws_lb_listener" "front_end" {
load_balancer_arn = "${aws_lb.front_end.arn}"
port = "80"
protocol = "HTTP"
default_action {
type = "redirect"
redirect {
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
}
您还可以使用 aws_lb_listener_rule resource 中的单个负载均衡器侦听器规则添加重定向和固定类型响应:
resource "aws_lb_listener_rule" "redirect_http_to_https" {
listener_arn = "${aws_lb_listener.front_end.arn}"
action {
type = "redirect"
redirect {
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
condition {
host_header {
values = ["my-service.*.terraform.io"]
}
}
}
【讨论】: