HTTPS是加密数据传输协议,安全性高。当企业进行HTTPS安全改造后,为了方便用户访问,可以使用CLB在用户无感知的情况下将HTTP访问重定向至HTTPS。本文为您介绍如何使用CLB将HTTP访问重定向至HTTPS。
关键特性
平滑切换:在重定向期间,用户在访问网站时,感知不到从HTTP到HTTPS的重定向过程,因为切换迅速且无缝,不会影响用户的正常浏览行为。
降低负载:后端服务器不需要处理重定向逻辑,可以更专注于核心业务逻辑的处理,有助于提高后端服务器的处理效率。
应用场景
HTTPS安全改造:将现有网站或应用程序从HTTP改造为HTTPS,提升用户和服务器之间通信的安全性。
域名更改/站点迁移:当网站迁移到新的域名时,使用重定向可以保持用户访问的连续性。
场景示例
企业在阿里云某地域购买了一个CLB实例,并配置了HTTP监听,为了提升传输数据的安全性,需要对网站进行HTTPS安全改造。在改造过程中,防止用户遇到服务中断或访问失败的情况,该企业选择使用CLB将HTTP访问重定向至HTTPS,从而平稳地将HTTP协议切换为HTTPS协议,保证业务安全性。
注意事项
CLB已经在全部地域开放了HTTP重定向功能,仅在英国(伦敦)地域支持配置重定向状态码,其他地域支持的重定向状态码默认为302。
配置HTTP重定向至HTTPS时,HTTP监听和HTTPS监听在同一个CLB实例下。
CLB实例中已存在的HTTP监听不支持开启监听转发。需要在创建HTTP监听时开启监听转发。
前提条件
您已创建后端服务器ECS01和ECS02实例,并在ECS01和ECS02中均部署了应用服务,本文所涉及的服务器已安装Alibaba Cloud Linux 3.2104 LTS 64位操作系统。请参见自定义购买实例。
您已创建CLB实例,本文以公网CLB为例。请参见创建和管理CLB实例。
您已购买证书或者上传第三方证书到SSL证书服务并绑定域名。请参见SSL证书快速上手。
操作步骤
步骤一:创建HTTPS监听
在顶部菜单栏,选择目标CLB实例所属的地域。
在实例管理页面,找到目标实例,然后在操作列单击监听配置向导。
在协议&监听配置向导,根据以下信息配置监听,然后单击下一步。
此处仅列出和本文强相关的配置项,其余参数保持默认值。其他参数的配置,请参见添加HTTPS监听。
选择监听协议:HTTPS。
监听端口:443。
在SSL证书配置向导,选择已上传的服务器证书,或者在选择服务器证书时单击新建服务器证书上传一个服务器证书,其余参数保持默认配置,然后单击下一步。
在后端服务器配置向导,选择后端服务器。本文以默认服务器组为例。
选择默认服务器组,然后单击继续添加。
在我的服务器面板,选中ECS01和ECS02,然后单击下一步。
在配置端口和权重配置向导,配置ECS01和ECS02的权重,单击添加。
配置ECS01和ECS02的端口,本文都设置为80,然后单击下一步。
在健康检查配置向导,保持默认配置,单击下一步。
在配置审核配置向导,检查监听配置信息,然后单击提交,等待配置成功后,在弹出的对话框中单击知道了。
步骤二:配置HTTP监听转发规则
在监听页签,单击添加监听。
在协议&监听配置向导,根据以下信息配置监听,其余参数保持默认配置,然后单击下一步。
监听配置
说明
选择监听协议
选择监听的协议类型。
本文选择HTTP。
监听端口
用来接收请求并向后端服务器进行请求转发的监听端口。
本文设置为80。
高级配置
单击修改展开高级配置。
本文仅修改监听转发,其余参数保持默认配置。
监听转发
选择是否将HTTP监听的流量转发到HTTPS监听。
本文选择开启监听转发,并选择目的监听为步骤一:创建HTTPS监听创建的HTTPS监听。
仅支持在英国(伦敦)地域配置自定义重定向状态码,您可以根据业务需求配置其他重定向状态码。
在配置审核页签,单击提交,等待配置成功后,单击知道了。
监听转发开启后,该CLB实例所有来自HTTP:80的访问都会转发至HTTPS:443,并根据HTTPS:443的监听配置进行转发。
步骤三:配置域名解析
对于非阿里云注册域名,需先将域名添加到云解析控制台,才可以进行域名解析设置。
如果您的CLB实例为私网类型,需先为其绑定弹性公网IP(EIP),随后配置A记录将域名解析指向该EIP实现公网访问。
在左侧导航栏,选择
。在实例管理页面,选择目标实例,并复制目标实例的服务地址。
执行以下步骤添加A解析记录。
登录域名解析控制台。
在权威域名解析页面,找到目标域名,在操作列单击解析设置。
在解析设置页面,单击添加记录。
在添加记录面板配置以下信息,其他参数可保持默认值或根据实际情况修改,完成后单击确定。
配置
说明
记录类型
在下拉列表中选择A。
主机记录
您的域名的前缀。
说明创建域名为根域名时,主机记录为@。
记录值
输入域名对应的A地址,即您复制的CLB实例的服务地址。
步骤四:验证结果
以任意一台可以访问公网的终端为例,测试访问CLB的HTTP请求是否能够重定向至HTTPS。
打开终端的cmd窗口。
执行
curl -v http://<CLB 域名>
,如下图所示,收到状态码302,表示访问CLB的请求重定向至HTTPS。
重定向状态码说明
CLB支持的重定向状态码及说明如下表所示。
状态码 | 说明 |
301 | 永久重定向,请求的资源已被永久移动至新的URL,建议客户端的请求都使用新的URL替代。 |
302 | 临时重定向,请求的资源只是暂时被移动,客户端应继续使用原有URL访问。 |
307 | 临时重定向,但不允许POST请求重定向到GET请求。 |
常见问题
为何HTTP监听中找不到开启监听转发的配置?
之前在CLB实例中已经创建的HTTP监听不能开启监听转发。您需要重新创建HTTP监听,才可以开启监听转发。
相关文档
CLB重定向功能通过在CLB实例上配置监听器规则来实现,而ALB在应用层面对HTTP请求进行重定向,具有更灵活的控制能力和更多的配置选项,支持基于路径的重定向或者基于请求头的重定向。请参考使用ALB将HTTP访问重定向至HTTPS。