云中沙箱实验“利用SLB实现https与http的混合访问”教您如何在云上解决HTTP与HTTPS的混合访问!
云中沙箱,阿里云官方实验平台。网址:http://lab.aliyunedu.net
一、基本概念
HTTPS 协议
HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。
基本概念
HTTPS是更安全的HTTP协议,它在TCP(负责网络数据传输)和HTTP层之间,增加了一个SSL层。这一层通过数字证书和加密算法对HTTP请求进行加密。已经采用HTTP协议的网站要过渡到HTTPS,将在技术改造、服务器资源、流量资源上付出更多成本。
工作流程
HTTPS其实是有两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。
负载均衡的证书管理功能
针对HTTPS协议,提供统一的证书管理服务,证书无需上传到后端ECS,解密处理在负载均衡上进行,降低后端ECS CPU开销。
证书格式要求
申请的证书为 linux 环境下 pem 格式的证书。负载均衡不支持其他格式的证书。
> 如果是通过 root CA 机构颁发的证书, 您拿到的证书为唯一的一份,不需要额外的证书,配置的站点即可被浏览器等访问设备认为可信。
> 如果是通过中级 CA 机构颁发的证书,您拿到的证书文件包含多份证书,需要人为的将服务器证书与中间证书合并在一起上传。
拼接规则为:服务器证书放第一份,中间证书放第二份,中间不要有空行。
注意:一般情况下,机构在颁发证书的时候会有对应说明, 请注意规则说明。
1)root CA 机构颁发的证书规则:
a. [——-BEGIN CERTIFICATE——-, ——-END CERTIFICATE——-] 开头和结尾;请将这些内容一并上传;
b. 每行 64 字符,最后一行长度可以不足 64 字符。
2)中级机构颁发的证书规则:
a.
——-BEGIN CERTIFICATE——-
——-END CERTIFICATE——-
——-BEGIN CERTIFICATE——-
——-END CERTIFICATE——-
——-BEGIN CERTIFICATE——-
——-END CERTIFICATE——-
b. 证书之间不能有空行;
c. 每一份证书遵守第一点关于证书的格式说明;
3)RSA私钥规则:
a. [——-BEGIN RSA PRIVATE KEY——-, ——-END RSA PRIVATE KEY——-] 开头结尾;请将这些内容一并上传。
b. 每行64字符,最后一行长度可以不足64字符。
说明:如果您不是按照上述方案生成私钥,得到[——-BEGIN PRIVATE KEY——-, ——-END PRIVATE KEY——-] 这种样式的私钥,您可以按照如下方式转换:
首先,运行以下命令:
openssl rsa -in old_server_key.pem -out new_server_key.pem
然后,将 new_server_key.pem 的内容与证书一起上传。
转换证书格式
负载均衡只支持 PEM 格式的证书,其他格式的证书需要转换成 PEM 格式后,才能上传到负载均衡中。建议通过 openssl 工具进行转换。本文提供了使用 openssl 将以下几种比较流行的证书格式转换为 PEM 格式的方法。
1)DER 转换为 PEM
运行以下命令进行证书转化:
openssl x509 -inform der -in certificate.cer -out certificate.pem
运行以下命令进行私钥转化:
openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem
2)P7B 转换为 PEM
运行以下命令进行证书转化:
openssl pkcs7 -print_certs -in incertificat.p7b -out outcertificate.cer
获取 outcertificat.cer 里面 [——-BEGIN CERTIFICATE——-, ——-END CERTIFICATE——-] 的内容作为证书上传。
3)PFX 转换为PEM
运行以下命令提取私钥:
openssl pkcs12 -in certname.pfx -nocerts -out key.pem -nodes
运行以下命令提取证书:
openssl pkcs12 -in certname.pfx -nokeys -out cert.pem
二、更多实验信息
实验名称:利用SLB实现https与http的混合访问
实验网址:https://edu.cloudcare.cn/courses/a3a8f9e7dc164da69104f3d81fc47aaf/detail
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。