实验概述
互联网巨头雅虎官方对外发布消息,承认在2014年的一次黑客袭击中,至少5亿用户的数据信息遭窃。此次事件让我们再次意识到网站安全的重要性,网站加密防护的必要性。我们可以使用HTTPS协议对网站进行全站加密,但是,大部分用户已经习惯直接输入域名(即使用 HTTP 协议)访问网站。因此,企业需要将用户的 HTTP 请求转化为 HTTPS 请求进行访问。这个问题在传统的 IT 架构中已经得到解决,但是在云上如何解决 HTTP 与 HTTPS 的混合访问?
本实验使用负载均衡配置监听,利用Nginx实现HTTP请求向HTTPS请求的转化,从而完成HTTP和HTTPS的混合访问。
HTTP请求转化为HTTPS请求架构图
实验目标
完成此实验后,可以掌握的能力有:
1)使用负载均衡配置HTTP和HTTPS监听,支持HTTP请求和HTTPS请求的混合访问;
2)使用Nginx将HTTP请求转化为HTTPS请求;
一、实验背景
1.1 背景知识
HTTPS 协议 HTTPS 能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用 HTTPS 协议。
基本概念
HTTPS 是更安全的 HTTP 协议,它在 TCP(负责网络数据传输)和 HTTP层 之间,增加了一个 SSL 层。这一层通过数字证书和加密算法对 HTTP 请求进行加密。已经采用 HTTP 协议的网站要过渡到 HTTPS,将在技术改造、服务器资源、流量资源上付出更多成本。
工作流程 HTTPS 其实是有两部分组成:HTTP + SSL / TLS,也就是在 HTTP 上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过 TLS 进行加密,所以传输的数据都是加密后的数
据负载均衡监听
负载均衡提供四层(TCP/UDP协议)和七层(HTTP/HTTPS协议)监听,您可根据应用场景选择监听协议:
负载均衡四层监听将请求直接转发到后端ECS实例,而且不修改标头。
负载均衡七层监听原理上是反向代理的一种实现,客户端HTTP请求到达负载均衡监听后,负载均衡服务器会通过与后端ECS建立TCP连接,即再次通过新TCP连接HTTP协议访问后端,而不是直接转发报文到后端ECS。
二、实验详情
2.1 实验资源
在弹出的左侧栏中,点击 创建资源 按钮,开始创建实验资源。 资源创建过程需要1-3分钟。完成实验资源的创建后,用户可以通过 实验资源 查看实验中所需的资源信息,例如:阿里云账号等。
2.2 使用HTTP请求查看网站服务器
本小节主要内容:直接通过 ECS 实例的 IP 地址,访问并查看已部署的 Web 网站。
- 通过如下步骤,查看 实验资源 中 Web服务器01 的网站信息:
1)点击左侧导航栏 实验资源 ,并拷贝 Web服务器01 的 外网地址 。
2)新建一个浏览器页面,并输入 Web服务器01 的 外网地址 ,浏览网站 LAB013 ROOM 。
参考如上步骤,在浏览器中,输入 Web服务器02 的 外网地址 ,并访问 Web服务器02 网站。
- 可以查看到两台服务器的内容完全一致。一般情况下,为了保证企业业务的持续性,企业会将生产环境部署到两台相同的服务器中。这样在高并发时,通过负载均衡可以将网站的流量分发到不同的服务器后端,从而提升用户体验。
2.3 负载均衡中添加HTTP和HTTPS监听
本小节主要内容:在负载均衡(SLB)中添加 HTTPS 和 HTTP 协议监听
首先,通过如下步骤,访问阿里云负载均衡(SLB)管理控制台:
1)点击页面左侧导航栏 实验资源 ,并点击 前往控制台 。
2)在打开的阿里云 RAM用户登录 页面中,分别输入 实验资源 中提供的 子用户名称 、子用户密码 ,并点击 登录 :
注意:若登录信息错误,请查看 企业别名 是否与 实验资源 提供的 阿里云主账号企业别名 相同。
3)在阿里云管理控制台,点击顶部导航栏处的 产品与服务 ,下拉列表中,依次选择 云计算基础服务 ---> 弹性计算 ---> 负载均衡 ,进入负载均衡的管理控制台。
2. 通过如下步骤,进入 实验资源 提供的 负载均衡 实例的管理页面:
1)在实例管理页面,顶部的地址栏中,选择 实验资源 提供的 地址 ,例如:华东1 。
2)在地址栏下面的搜索栏中,选择 负载均衡ID ,并输入 实验资源 中 负载均衡 的 实例ID ,点击 搜索 。
3)在搜索栏下,查看搜索结果,并点击实例右侧的 管理 ,进入 负载均衡 实例的管理页面。
3. 通过如下步骤,添加 负载均衡 的 HTTPS 协议的监听。
1)在负载均衡实例页面,点击下侧栏的 监听 。
2)在实例监听页面,点击右侧 添加监听 。
3)在 基本配置 页面,配置如下信息:
前端协议[端口]:选择 HTTPS ,并填写端口号为 443 ;
服务器证书 :选择已有服务器证书 lab-ca 。
说明:SLB 的服务器证书是本实验已提供的公共资源。SLB 的证书上传的具体操作步骤,请参考章节 上传证书。
其余配置信息保持默认,完成如上配置后,点击 下一步 。
通过添加,把提供的两台ECS服务器放到SLB资源池。
确认后,在服务器后端,填写80,然后点击下一步说明:本实验中不会对添加的 ECS 实例进行健康检查,但是,在真实的工作环境中,强烈建议用户开启健康检查。健康检查的操作和使用,请参考实验 SL010 使用SLB实现持续性高并发访问 。
待 3-5 秒,提示 恭喜,监听配置成功 ,完成后,点击 确认 。
6)返回监听配置页面,查看到新建 HTTPS:443 监听的 状态 为 运行中 。此时,HTTPS协议监听添加成功。
4. 通过如下步骤,添加 负载均衡 的 HTTP 协议的监听。
1)再次点击页面下侧的 添加监听 。
2)在 基本配置 页面,配置如下信息:
前端协议[端口]:选择 HTTP ,并填写端口号为 80 ;
后端服务器组,选择默认服务器组
后端协议[端口]:默认使用 HTTP ,填写端口号为 88 ; 其余配置信息保持默认,完成如上配置后,点击 下一步 。
说明:本实验中使用 88 端口进行判定和转发的,在真实的工作环境中,用户请根据实际情况设置端口信息。
3)在健康检查配置中,关闭 健康检查,完成后,点击 确认 。
1-3 秒,提示监听配置成功 ,完成后,点击 确认 。
5)在监听配置中,可以查看到新建监听 HTTP:80 。