1. 单双向认证
2. 负载均衡实现单双向认证过程
2.1. 配置流程
制作证书-->上传证书到负载均衡器-->验证认证
2.2. 使用OpenSSL制作CA、服务器及客户端证书
2.2.1. 制作CA根证书
步骤1:登录到任意一台安装有openssl工具的Linux云主机
步骤2:创建工作目录并进入该目录
mkdir cert cd cert
步骤3:在cert目录下,创建CA证书的openssl配置文件ca_cert.conf
vi ca_cert.conf
内容如下:
[req] distinguished_name = req_distinguished_name prompt = no [req_distinguished_name] C = cn ST = sc L = cd O = TeleCloud OU = Test CN = root
其中CN为Common Name,CA根证书可设置为root或其他可标识字段
步骤4:创建CA根证书
- 生成CA证书的私钥文件ca.key
openssl genrsa -out ca.key 2048
- 使用配置文件ca_cert.conf生成CA证书的csr请求文件ca.csr
openssl req -out ca.csr -key ca.key -new -config ./ca_cert.conf
- 生成自签名的CA证书ca.crt
openssl x509 -req -in ca.csr -out ca.crt -sha1 -days 3650 -signkey ca.key
这样我们就得到有效期10年的CA根证书
2.2.2. 制作服务器证书
可以用权威CA签发的证书或者自签名的证书,这里以自签名证书为例说明如何创建服务器证书
步骤1:登录上面的服务器,进入cert目录
cd cert
步骤2:在cert目录下,创建CA证书的openssl配置文件server_cert.conf
vi server_cert.conf
内容如下:
[req] distinguished_name = req_distinguished_name prompt = no [req_distinguished_name] C = cn ST = sc L = cd O = TeleCloud OU = Test # 服务器common name需要修改为负载均衡器的域名或者IP,如果不知道域名可以设置为IP CN = @
步骤3:创建服务器证书
- 生成服务器证书的私钥文件server.key
openssl genrsa -out server.key 2048
- 使用配置文件server_cert.conf生成服务器证书的csr请求文件server.csr
openssl req -out server.csr -key server.key -new -config ./server_cert.conf
- 生成自签名的服务器证书证书server.crt
openssl x509 -req -in server.csr -out server.crt -sha1 -CAcreateserial -days 3650 -CA ./ca.crt -CAkey ./ca.key
2.2.3. 制作客户端证书
使用CA证书签发客户端证书
步骤1:登录上面的服务器,进入cert目录
cd cert
步骤2:在cert目录下,创建客户端证书的openssl配置文件client_cert.conf
vi client1_cert.conf
内容如下:
[req] distinguished_name = req_distinguished_name prompt = no [req_distinguished_name] C = cn ST = sc L = cd O = TeleCloud OU = Test CN = client1
客户端的CN可设置为标识客户端的字段
步骤3:创建服务器证书
- 生成服务器证书的私钥文件client1.key
openssl genrsa -out client1.key 2048
- 使用配置文件client1server_cert.conf生成服务器证书的csr请求文件client1.csr
openssl req -out client1.csr -key client1.key -new -config ./client1_cert.conf
- 生成自签名的服务器证书证书server.crt
openssl x509 -req -in client1.csr -out client1.crt -sha1 -CAcreateserial -days 3650 -CA ./ca.crt -CAkey ./ca.key
- 把客户端证书格式转为浏览器可识别的p12格式,用于浏览器的访问
openssl pkcs12 -export -clcerts -in client1.crt -inkey client1.key -out client1.p12
该命令执行时需要输入导出密码,请输入并记住该密码,在证书导入浏览器时需要使用
步骤4:下载证书
将上述步骤生成的CA、服务器、client证书和key下载至本地curl --cert --key --cacert
ca.crt
ca.key
server.crt
server.csr
server.key
client1.crt
client1.key
client1.p12
2.3. 将证书上传至负载均衡证书管理
2.3.1. 将服务器证书上传至负载均衡证书管理
1.登录天翼云首页,选择“产品 > 网络与CDN > 网络 > 弹性负载均衡”,选择弹性负载均衡所属区域,本文选择华东-华东1,进入弹性负载均衡控制台
2.在左侧“弹性负载均衡 > 证书管理”页签点击“创建证书”
3.证书类型选择服务器证书
2.3.2. 将CA证书上传至负载均衡证书管理
2.4. 创建监听器,配置双向认证
- 登录负载均衡控制台页面。
- 在添加监听器页面,打开“双向认证”,并且在服务器证书和CA证书两个配置项中选择所添加的服务器证书和CA证书对应的名称
2.5. 验证双向认证
2.5.1. Curl工具方式功能测试
- 导入客户端证书,登录客户端机器,将客户端证书client1.crt和私钥文件client1.key上传到新目录。测试验证在shell界面,通过curl命令验证认证功能
2.5.2. 浏览器方式功能测试
- 浏览器导入客户端证书(以chrome为例说明)
- 测试验证在浏览器中输入地址,可以正常访问网站