上次更新日期:2015 年 12 月 8 日
如何使用 AWS CLI 确定 ELB 侦听器关联的活动 SSL 安全策略?
注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时遇到错误,请确保您运行的是最新版本的 AWS CLI。
按照使用控制台添加 HTTPS 侦听器中的步骤配置负载均衡器侦听器时,侦听器的 SSL 安全策略显示在 AWS EC2 控制台的 Select a Cipher 对话框中,如更新 HTTPS/SSL 负载均衡器的 SSL 协商配置中的步骤 6 所述。在 AWS CLI 中,运行下面的 describe-load-balancer-policies 命令可以显示负载均衡器侦听器 SSL 安全策略名称及任何预定义的 Elastic Load Balancing 的 SSL 安全策略。请务必将 TESTELB 替换为您的负载均衡器名称:
aws elb describe-load-balancer-policies --load-balancer-name TESTELB --query "PolicyDescriptions.{PolicyName:PolicyName,ReferenceSecurityPolicy:PolicyAttributeDescriptions.AttributeValue}" --output table
注意:CLI 示例使用的是 AWS CLI 在 Windows 命令提示符窗口中所用的语法。要在 Linux 或 Windows PowerShell 上运行上述命令,请用单引号而不是双引号括住 --query 参数。有关在不同平台上运行 AWS CLI 命令时语法差异的更多信息,请参阅
为 AWS 命令行界面指定参数值。
此命令应该生成类似于下述信息的输出:
-------------------------------------------------------------------------------------
| DescribeLoadBalancerPolicies |
+-------------------------------------------------------+---------------------------+
| PolicyName | ReferenceSecurityPolicy |
+-------------------------------------------------------+---------------------------+
| ELBSecurityPolicy-2015-05 | ELBSecurityPolicy-2015-05 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1446825761570 | ELBSecurityPolicy-2015-03 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1446774067525 | ELBSecurityPolicy-2015-05 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1446774575245 | ELBSecurityPolicy-2015-05 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447023243695 | ELBSecurityPolicy-2014-10 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447039877149 | false |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447039147749 | ELBSecurityPolicy-2011-08 |
| AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 | ELBSecurityPolicy-2014-10 |
+-------------------------------------------------------+---------------------------+
注意:如果 ReferenceSecurityPolicy 值为 false,说明策略不是用 Elastic Load Balancing 的 SSL 安全策略中描述的预定义安全策略创建的。
此 AWS CLI 命令返回负载均衡器侦听器关联的 SSL 安全策略,但不指示哪个负载均衡器侦听器 SSL 安全策略当前处于活动状态。要确定当前处于活动状态的策略,请完成“解决”部分中描述的步骤。
解决方法运行下述 AWS CLI 命令返回处于活动状态的负载均衡器侦听器 SSL 安全策略,及任何关联的预定义 SSL 安全策略:
1.要返回处于活动状态的侦听器 SSL 安全策略的相关信息,请运行 describe-load-balancers(记得将 TESTELB 替换为您的负载均衡器名称):
aws elb describe-load-balancers --load-balancer-name TESTELB --query "LoadBalancerDescriptions.{ActivePolicy:ListenerDescriptions}" --output table
此命令应该返回类似于下述信息的输出:
---------------------------------------------------------------------------------
| DescribeLoadBalancers |
|| ActivePolicy ||
||| Listener |||
||+-------------------+-------------------------------------------------------+||
||| InstancePort | 443 |||
||| InstanceProtocol | SSL |||
||| LoadBalancerPort | 443 |||
||| Protocol | SSL |||
||| SSLCertificateId | arn:aws:iam::803981987763:server-certificate/ELBSSL |||
||+-------------------+-------------------------------------------------------+||
||| PolicyNames |||
||+---------------------------------------------------------------------------+||
||| AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 |||
||+---------------------------------------------------------------------------+||
|| ActivePolicy ||
||| Listener |||
||+-----------------------------------------------------+---------------------+||
||| InstancePort | 80 |||
||| InstanceProtocol | HTTP |||
||| LoadBalancerPort | 80 |||
||| Protocol | HTTP |||
||+-----------------------------------------------------+---------------------+||
2.要返回处于活动状态的侦听器 SSL 安全策略关联的任何预定义 SSL 安全策略,请运行 describe-load-balancer-policies(记得将 TESTELB 替换为您的负载均衡器名称,将 AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 替换为处于活动状态的侦听器 SSL 安全策略名称):
aws elb describe-load-balancer-policies --load-balancer-name TESTELB --policy-name AWSConsole-SSLNegotiationPolicy-TESTELB-1447102065672 --query "PolicyDescriptions.{ReferenceSecurityPolicy:PolicyAttributeDescriptions.AttributeValue}" --output table
此命令应该返回类似于下述信息的输出:
----------------------------------------------------------
| DescribeLoadBalancerPolicies |
+--------------------------+-----------------------------+
| ReferenceSecurityPolicy | ELBSecurityPolicy-2014-10 |
+--------------------------+-----------------------------+
注意:如果返回的预定义 SSL 安全策略值为 false,说明处于活动状态的负载均衡器侦听器 SSL 安全策略不是用 Elastic Load Balancing 的 SSL 安全策略中描述的预定义安全策略创建的。