前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker Data Center系列(五)- 使用自定义的TLS安全认证

Docker Data Center系列(五)- 使用自定义的TLS安全认证

作者头像
羽客
修改2018-11-07 08:12:01
7290
修改2018-11-07 08:12:01
举报

本系列文章演示如何搭建一个mini的云平台和DevOps实践环境。 基于这套实践环境,可以部署微服务架构的应用栈,演练提升DevOps实践能力。

1 名词说明

  • CSR: Certificate Signing Request,即证书签名请求, 这个并不是证书,而是向权威证书颁发机构获得签名证书的申请,其核心内容是一个公钥;
  • CRT:证书文件,certificate的缩写,可以通过修改扩展名的方式与PEM文件互相转换;
  • PEM:X.509证书的一种编码格式,内容以"-----BEGIN"开头,以"-----END"结尾,内容是BASE64编码;
  • 服务器: 这里是指安装UCP/DTR的主机,或者作为Docker Remote API场景中被访问的服务器端主机,本文中UCP服务器IP为192.168.1.101,DTR服务器IP为192.168.1.102;
  • 客户端: 这里是指需要访问UCP/DTR的主机,或者作为Docker Remote API场景中发起访问请求的客户端主机,本文中客户端IP为192.168.1.103, 192.168.1.104。

2 生成自签名CA证书

2.1 编辑CA配置文件

代码语言:txt
复制
$ vi /etc/pki/tls/openssl.cnf

[ policy_match ]
# 除了country name,其它都改成optional

[ req_distinguished_name ]
# CommonName设置为IROOTECH CA,这个会显示为证书的【颁发者】和【颁发给】的属性值

2.2 生成CA私钥

创建到CentOS系统默认的CA私钥文件位置:

代码语言:txt
复制
$ cd /etc/pki/CA/
$ openssl genrsa -out private/cakey.pem 2048

2.3 生成CA证书

创建到CentOS系统默认的CA证书文件位置:

代码语言:txt
复制
$ openssl req -new -x509 -key private/cakey.pem -out cacert.pem

如果步骤2.1设置好了默认值,一路回车即可完成。

3 生成服务器证书

3.1 生成服务器私钥

创建到自定义文件夹:

代码语言:txt
复制
$ mkdir /home/tls/
$ openssl genrsa -out server.key 2048

3.2 生成服务器证书签名请求

创建到自定义文件夹:

代码语言:txt
复制
$ mkdir /home/tls/
$ openssl req -new -key server.key -out server.csr

commonName(CN)设置为UCP(DTR)所在主机名或FQDN。也可以设置为一个泛域名(*.yourcompany.com),其它都使用默认值。

3.3 生成服务器证书

一般情况下,服务器证书和CA证书不在同一个服务器上,所以需要将3.2节生成的服务器证书签名请求发送到CA证书所在服务器上。

创建到自定义文件夹:

代码语言:txt
复制
$ mkdir /home/tls/
$ openssl ca -in server.csr -out server.pem 

注意:生成服务器证书过程默认使用了-cert cacert.pem -keyfile cakey.pem,这两个文件就是2.2和2.3两步生成的,位于/etc/pki/CA下的CA密钥和CA证书。

4 如何使用

现在我们已经生成了必须的几个文件:

  • /etc/pki/CA/cacert.pem
  • /home/tls/server.pem
  • /home/tls/server.key

4.1 UCP设置证书

在UCP Web UI中, 导航到管理员设置页面,在左侧菜单中,单击证书

依次上传:

  • CA证书:cacert.pem
  • 服务器证书:server.pem
  • 私钥:server.key

点击保存

4.2 DTR设置证书

在DTR Web UI中,导航到系统页面, 在右侧页面中,点击常规,定位到域和代理,点击显示TLS设置

依次上传:

  • CA证书:cacert.pem
  • 服务器证书:server.pem
  • 私钥:server.key

点击保存

4.3 浏览器导入CA证书

如果希望自己本地浏览器访问UCP Web UI时不显示安全证书警告,需要如下操作:

  • a. 将cacert.pem文件复制到本地,然后修改扩展名为.crt;
  • b. 右键点击,在弹出窗口中选择【安装证书】;
  • c. 导出【证书导入向导】,点击【下一步】;
  • d. 单选框选择【将所有的证书放入下列存储】,点击【浏览】按钮,弹出窗口中选择【受信任的根证书颁发机构】,点击【确认】,点击【下一步】;
  • e. 点击【完成】。

系列文章

Docker Data Center系列(一) - 快速搭建云原生架构的实践环境

Docker Data Center系列(二)- UCP安装指南

Docker Data Center系列(三)- DTR安装指南

Docker Data Center系列(四)- 离线安装UCP和DTR

Docker Data Center系列(五)- 使用自定义的TLS安全认证

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 名词说明
  • 2 生成自签名CA证书
    • 2.1 编辑CA配置文件
      • 2.2 生成CA私钥
        • 2.3 生成CA证书
        • 3 生成服务器证书
          • 3.1 生成服务器私钥
            • 3.2 生成服务器证书签名请求
              • 3.3 生成服务器证书
              • 4 如何使用
                • 4.1 UCP设置证书
                  • 4.2 DTR设置证书
                    • 4.3 浏览器导入CA证书
                    • 系列文章
                    相关产品与服务
                    SSL 证书
                    腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档