根据:https://www.terraform.io/docs/providers/aws/r/lb_ssl_negotiation_policy.html
您可以创建一个新资源以获得 ELB SSL 策略,这样您就可以自定义任何您想要的协议(protocol)和密码。但是,我希望将 Amazon 设置的预定义安全策略用作TLS-1-1-2017-01
或 TLS-1-2-2017-01
.
http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-policy-table.html
有没有办法使用预定义的策略而不是设置新的自定义策略?
最佳答案
为了解决同样的问题,我在这里看到了这个片段:https://github.com/terraform-providers/terraform-provider-aws/issues/822#issuecomment-311448488
基本上,您需要创建两个资源,aws_load_balancer_policy
,以及 aws_load_balancer_listener_policy
.在 aws_load_balancer_policy
你设置了policy_attribute
引用预定义的安全策略,然后将您的监听器策略设置为引用该 aws_load_balancer_policy。
我添加了 Pull Request到 terraform AWS 文档以在此处更明确地说明这一点,但这里有一个示例片段:
resource "aws_load_balancer_policy" "listener_policy-tls-1-1" {
load_balancer_name = "${aws_elb.elb.name}"
policy_name = "elb-tls-1-1"
policy_type_name = "SSLNegotiationPolicyType"
policy_attribute {
name = "Reference-Security-Policy"
value = "ELBSecurityPolicy-TLS-1-1-2017-01"
}
}
resource "aws_load_balancer_listener_policy" "ssl_policy" {
load_balancer_name = "${aws_elb.elb.name}"
load_balancer_port = 443
policy_names = [
"${aws_load_balancer_policy.listener_policy-tls-1-1.policy_name}",
]
}
乍一看,这似乎是在创建基于预定义安全策略的自定义策略,但当您查看 AWS 控制台中创建的内容时,您会发现它实际上只是选择了适当的预定义安全策略。
关于Terraform aws_lb_ssl_negotiation_policy 使用 AWS 预定义的 SSL 安全策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46226574/