發表日期:2018-11 文章編輯:小燈 瀏覽次數:2804
前面說了怎么搭建harbor倉庫,這里講一講harbor實現https訪問,因為只需要內網訪問,沒必要去申請一個ssl證書,所以我就用openssl頒發自簽名證書,實現https訪問。需要搭建一個dns服務器,讓你的域名解析到你的harbo地址,具體教程,請看我上一篇的博客。
在HTTPS的傳輸過程中,有一個非常關鍵的角色——數字證書,那什么是數字證書?又有什么作用呢?
所謂數字證書,是一種用于電腦的身份識別機制。由數字證書頒發機構(CA)對使用私鑰創建的簽名請求文件做的簽名(蓋章),表示CA結構對證書持有者的認可。數字證書擁有以下幾個優點:
使用數字證書能夠提高用戶的可信度
數字證書中的公鑰,能夠與服務端的私鑰配對使用,實現數據傳輸過程中的加密和解密
在證認使用者身份期間,使用者的敏感個人數據并不會被傳輸至證書持有者的網絡系統上
X.509證書包含三個文件:key,csr,crt。
首先創建證書存放目錄:
?mkdir -p /data/cert && cd /data/cert 創建 CA 根證書
?openssl req-newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt -subj "/C=CN/L=zhejiang/O=lisea/CN=harbor-registry" 生成一個證書簽名, 設置訪問域名為 kevinharbor.com
?openssl req -newkey rsa:4096 -nodes -sha256 -keyout kevinharbor.com.key -out server.csr -subj "/C=CN/L=zhejiang/O=lisea/CN=kevinharbor.com" 生成主機的證書
?openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out kevinharbor.com.crt 然后進入harbor安裝目錄修改harbor.cfg,修改下面幾個選項
重啟服務
?sudo ./prepare ?docker-compose down -v ?docker-compose up -d 然后打開鏈接https://kevinharbor.com
瀏覽器可能會提示不安全的證書,這是因為我們是自己當CA機構,所以瀏覽器會不信任。添加信任就好