三、harbor部署之SSL


1 簽名證書與自簽名證書

  簽名證書:由權威頒發機構頒發給服務器或者個人用於證明自己身份的東西。

  自簽名證書:由服務器自己頒發給自己,用於證明自己身份的東西,非權威頒發機構發布。

2 openssl簡介

  openssl 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。

3 KEY與CSR的區別

  Key通常用來存放一個公鑰或者私鑰,並非X.509證書,編碼同樣的,可能是PEM,也可能是DER。證書自身擁有一個密鑰對(即一個公鑰和一個私鑰),由公鑰(Public Key)與私鑰(Private Key)是通過一種算法得到,公鑰是密鑰對中公開的部分,私鑰則是非公開的部分。一般公鑰和密鑰的關系為:1,公鑰和私鑰成對出現、2,公開的密鑰叫公鑰,只有自己知道的叫私鑰、3,用公鑰加密的數據只有對應的私鑰可以解密、4,用私鑰加密的數據只有對應的公鑰可以解密、5,如果可以用公鑰解密,則必然是對應的私鑰加的密、6,如果可以用私鑰解密,則必然是對應的公鑰加的密。

  CSR文件必須在申請和購買SSL證書之前創建。也就是證書申請者在申請數字證書時由CSP(加密服務提供者)在生成私鑰的同時也生成證書請求文件,證書申請 者只要把CSR文件提交給證書頒發機構后,證書頒發機構使用其根證書私鑰簽名就生成了證書公鑰文件,也就是頒發給用戶的證書。

4 證書配置之生成根證書

  創建證書存放目錄:

mkdir -p /data/cert && cd /data/cert

  

4.1創建自己的CA證書(不使用第三方權威機構的CA來認證,自己充當CA的角色)

openssl genrsa -out ca.key 2048   #生成根證書私鑰(無加密)    

 

4.2生成自簽名證書(使用已有私鑰ca.key自行簽發根證書)

openssl req -x509 -new -nodes -key ca.key -days 10000 -out ca.crt -subj "/CN=Harbor-ca"

req     產生證書簽發申請命令
-x509   簽發X.509格式證書命令。X.509是最通用的一種簽名證書格式。 -new    生成證書請求 -key 指定私鑰文件 -nodes 表示私鑰不加密 -out    輸出 -subj 指定用戶信息
-days 有效期

 

5 證書配置之生成服務器端證書

5.1生成服務器端私鑰和CSR簽名請求

openssl req -newkey rsa:4096 -nodes -sha256 -keyout server.key -out server.csr

 

  一路回車。。。

5.2簽發服務器證書

echo subjectAltName = IP:192.168.88.128 > extfile.cnf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 365 -extfile extfile.cnf -out server.crt
 x509           簽發X.509格式證書命令。
-req           表示證書輸入請求。
-days          表示有效天數
-extensions    表示按OpenSSL配置文件v3_req項添加擴展。
 -CA            表示CA證書,這里為ca.crt
-CAkey         表示CA證書密鑰,這里為ca.key
-CAcreateserial表示創建CA證書序列號
-extfile    指定文件

  

6 修改hardor的配置文件hardor.cfg

   更新主機名和協議

  #set主機名
  hostname = 192.168.88.128
  #set ui_url_protocol
  ui_url_protocol = https

  

  

7 設置docker證書

# 如果如下目錄不存在,請創建,如果有域名請按此格式依次創建
mkdir -p /etc/docker/certs.d/192.168.88.128 # mkdir -p /etc/docker/certs.d/[IP2] # mkdir -p /etc/docker/certs.d/[example1.com] # 如果端口為443,則不需要指定。如果為自定義端口,請指定端口 # /etc/docker/certs.d/yourdomain.com:port # 將ca根證書依次復制到上述創建的目錄中 cp ca.crt /etc/docker/certs.d/192.168.88.128/

8 為Harbor生成配置文件

#首先重啟下docker
service docker restart
#為Harbor生成配置文件
./prepare

  

9 完成啟動Harbor

docker-compose up -d

  

  訪問測試:

  

  

 

docker-compose down -v

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM