本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的经典负载均衡器配置 HTTPS 侦听器
侦听器是用于检查连接请求的进程。使用前端 (客户端到负载均衡器) 连接的协议和端口与后端 (负载均衡器到实例) 连接的协议和端口配置侦听器。有关 ELB 支持的端口、协议和侦听器配置的信息,请参见经典负载均衡器的侦听器。
如果您的负载均衡器具有接受端口 80 上的 HTTP 请求的侦听器,则可以添加接受端口 443 上的 HTTPS 请求的侦听器。如果指定 HTTPS 侦听器将请求发送到端口 80 上的实例,则负载均衡器将终止 SSL 请求,并且不加密从负载均衡器到实例的通信。如果 HTTPS 侦听器将请求发送到端口 443 上的实例,则对从负载均衡器到实例的通信进行加密。
如果负载均衡器使用加密连接与实例通信,您可以选择启用实例身份验证。这可确保只有在实例的公钥与您出于通信目的为负载均衡器指定的密钥匹配时,负载均衡器才与实例通信。
有关创建新的 HTTPS 侦听器的信息,请参阅创建带有 HTTPS 侦听器的经典负载均衡器。
前提条件
若要为 HTTPS 侦听器启用 HTTPS 支持,您必须在负载均衡器上部署 SSL 服务器证书。负载均衡器会在将请求发送到实例之前,使用证书终止并解密请求。如果您没有 SSL 证书,您可以创建一个。有关更多信息,请参阅 经典负载均衡器的 SSL/TLS 证书。
使用控制台添加 HTTPS 侦听器
您可以将 HTTPS 监听器添加到现有负载均衡器。
使用控制台向负载均衡器添加 HTTPS 侦听器
打开亚马逊 EC2 控制台,网址为https://console.aws.amazon.com/ec2/
。 -
在导航窗格上的 Load Balancing(负载均衡)下,选择 Load Balancers(负载均衡器)。
-
选择负载均衡器的名称以打开其详细信息页面。
-
在侦听器选项卡上,选择管理侦听器。
-
在管理侦听器页面的侦听器部分中,选择添加侦听器。
-
对于侦听器协议,选择 HTTPS。
重要
默认情况下,实例协议为 HTTP。如果要设置后端实例身份验证,请将实例协议更改为 HTTPS。
-
对于安全策略,建议您使用最新的预定义安全策略。如果您需要使用其他预定义安全策略或创建自定义策略,请参阅更新 SSL 协商配置。
-
对于默认 SSL 证书,请选择编辑,然后执行以下操作之一:
-
如果您使用创建或导入了证书 Amazon Certificate Manager,请选择 F rom ACM,从列表中选择证书,然后选择保存更改。
注意
此选项只在支持 的区域中可用 Amazon Certificate Manager
-
如果使用 IAM 导入了证书,请选择从 IAM 并从列表中选择该证书,然后选择保存更改。
-
如果您有 SSL 证书要导入到 ACM,请选择导入和到 ACM。在证书私有密钥中,复制并粘贴 PEM 编码的私有密钥文件的内容。在证书正文中,复制并粘贴 PEM 编码的公有密钥证书文件的内容。在证书链 – 可选中,复制并粘贴 PEM 编码的证书链文件的内容,除非您使用的是自行签名的证书并且浏览器是否隐式接受证书并不重要。
-
如果您有要导入的 SSL 证书,但该区域不支持 ACM,请选择导入和到 IAM。在证书名称字段中输入证书的名称。在证书私有密钥中,复制并粘贴 PEM 编码的私有密钥文件的内容。在证书正文中,复制并粘贴 PEM 编码的公有密钥证书文件的内容。在证书链 – 可选中,复制并粘贴 PEM 编码的证书链文件的内容,除非您使用的是自行签名的证书并且浏览器是否隐式接受证书并不重要。
-
选择保存更改。
-
-
对于 Cookie 粘性,默认设置为已禁用。要更改此设置,请选择编辑。如果选择由负载均衡器生成,则必须指定一个有效期。如果选择由应用程序生成,则必须指定一个 Cookie 名称。完成选择后,选择保存更改。
-
(可选)选择添加侦听器以添加其他侦听器。
-
选择保存更改以添加您刚才配置的侦听器。
-
(可选)要为现有负载均衡器设置后端实例身份验证,必须使用 Amazon CLI 或 API,因为控制台不支持此任务。有关更多信息,请参阅配置后端实例身份验证。
使用添加 HTTPS 监听器 Amazon CLI
您可以将 HTTPS 监听器添加到现有负载均衡器。
要向您的负载均衡器添加 HTTPS 侦听器,请使用 Amazon CLI
-
获取 SSL 证书的 Amazon Resource Name (ARN)。例如:
ACM
arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012IAM
arn:aws:iam::123456789012:server-certificate/my-server-certificate -
使用以下create-load-balancer-listeners命令向您的负载均衡器添加侦听器,该侦听器在端口 443 上接受 HTTPS 请求,并使用 HTTP 将请求发送到端口 80 上的实例:
aws elb create-load-balancer-listeners --load-balancer-namemy-load-balancer--listeners Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTP,InstancePort=80,SSLCertificateId=ARN如果要设置后端实例身份验证,请使用以下命令添加一个侦听器,此侦听器接受端口 443 上的 HTTPS 请求并使用 HTTPS 将请求发送到端口 443 上的实例:
aws elb create-load-balancer-listeners --load-balancer-namemy-load-balancer--listeners Protocol=HTTPS,LoadBalancerPort=443,InstanceProtocol=HTTPS,InstancePort=443,SSLCertificateId=ARN -
(可选)您可以使用以下describe-load-balancers命令查看负载均衡器的更新详细信息:
aws elb describe-load-balancers --load-balancer-namemy-load-balancer以下为响应示例:
{ "LoadBalancerDescriptions": [ { ... "ListenerDescriptions": [ { "Listener": { "InstancePort": 80, "SSLCertificateId": "ARN", "LoadBalancerPort": 443, "Protocol": "HTTPS", "InstanceProtocol": "HTTP" }, "PolicyNames": [ "ELBSecurityPolicy-2016-08" ] }, { "Listener": { "InstancePort": 80, "LoadBalancerPort": 80, "Protocol": "HTTP", "InstanceProtocol": "HTTP" }, "PolicyNames": [] } ], ... } ] } -
(可选) 您的 HTTPS 侦听器是使用默认安全策略创建的。如果要指定不同的预定义安全策略或自定义安全策略,请使用create-load-balancer-policy和 set-load-balancer-policiesof-listener 命令。有关更多信息,请参阅 使用更新 SSL 协商配置 Amazon CLI。
-
(可选)要设置后端实例身份验证,请使用 set-load-balancer-policies-for-backend-server 命令。有关更多信息,请参阅配置后端实例身份验证。