Docker Data Center系列(五)- 使用自定義的TLS安全認證

本系列文章演示如何搭建一個mini的雲平臺和DevOps實踐環境。
基於這套實踐環境,能夠部署微服務架構的應用棧,演練提高DevOps實踐能力。html

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配置文件

$ vi /etc/pki/tls/openssl.cnf

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

[ req_distinguished_name ]
# CommonName設置爲IROOTECH CA,這個會顯示爲證書的【頒發者】和【頒發給】的屬性值

2.2 生成CA私鑰

建立到CentOS系統默認的CA私鑰文件位置:瀏覽器

$ cd /etc/pki/CA/
$ openssl genrsa -out private/cakey.pem 2048

2.3 生成CA證書

建立到CentOS系統默認的CA證書文件位置:安全

$ openssl req -new -x509 -key private/cakey.pem -out cacert.pem

若是步驟2.1設置好了默認值,一路回車便可完成。服務器

3 生成服務器證書

3.1 生成服務器私鑰

建立到自定義文件夾:架構

$ mkdir /home/tls/
$ openssl genrsa -out server.key 2048

3.2 生成服務器證書籤名請求

建立到自定義文件夾:微服務

$ mkdir /home/tls/
$ openssl req -new -key server.key -out server.csr

commonName(CN)設置爲UCP(DTR)所在主機名或FQDN。也能夠設置爲一個泛域名(*.yourcompany.com),其它都使用默認值。ui

3.3 生成服務器證書

通常狀況下,服務器證書和CA證書不在同一個服務器上,因此須要將3.2節生成的服務器證書籤名請求發送到CA證書所在服務器上。
建立到自定義文件夾:編碼

$ 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 如何使用

如今咱們已經生成了必須的幾個文件:code

  • /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安全認證

相關文章
相關標籤/搜索