Harbor啟用Https及Docker配置

2021-10-19 14:01:17 字數 2133 閱讀 9392

解壓:tar -xvf harbor-offline-installer-v1.2.0-rc1.tgz

目錄結構為:

(1)修改harbor.cfg,修改ui_url_protocol為https,ssl_cert和ssl_cert_key分別為證書和私鑰

(2)修改harbor預設埠,需要修改docker-compose.yml和common/templates/registry/config.yml兩個配置檔案

修改docker-compose.yml內容如下,其中我們使用的是https則使用的埠為:1443

修改common/templates/registry/config.yml內容如下,由於我們使用的埠為:1443則需要新增埠資訊

(3)進入/home/test/harbor/data/cert目錄製作證書

ssl.conf內容如下:

[req]

req_extensions = v3_req

distinguished_name = req_distinguished_name

[req_distinguished_name]

[ v3_req ]

basicconstraints = ca:false

keyusage = nonrepudiation, digitalsignature, keyencipherment

subjectaltname = @alt_names

[alt_names]

ip.0 = 192.168.x.x

dns.0 = registry.test.com

然後執行如下命令:

openssl genrsa -out ca.key 2048

openssl req -x509 -new -nodes -key ca.key -subj "/cn=test.com" -days 3600 -out ca.crt

openssl genrsa -out server.key 2048

openssl req -new -key server.key -out server.csr -subj "/cn=test.com" -config ssl.conf

openssl x509 -req -in server.csr -ca ca.crt -cakey ca.key -cacreateserial -out server.crt -days 3650 -extensions v3_req -extfile ssl.conf

(4) 進入harbor目錄,執行./install.sh,完成harbor的部署

若需要使用網域名稱方式,先修改/etc/hosts檔案,新增如下內容

192.168.x.x registry.test.com
如果在執行docker login,發現報錯,「證書不受信任」,內容如下,有如下兩種方式實現正常訪問。

error response from daemon: get  x509: certificate signed by unknown authority
以centos為例,執行如下命令,如果仍不可用,需要重啟docker。

yum install ca-certificates

update-ca-trust enable

cp ca.crt /etc/pki/ca-trust/source/anchors/

update-ca-trust extract

重啟docker命令如下:

systemctl restart docker
將映象庫的訪問位址放到/etc/docker/certs.d目錄下,目錄名稱為映象訪問位址

Harbor新增HTTPS證書

若要配置https,必須建立ssl證書,可以使用受信任的第三方ca簽名的證書,也可以使用自簽名的證書。使用openssl建立ca,以及如何使用ca對伺服器證書和客戶端證書進行簽名。前提條件 已安裝好dokcer服務 已解壓harbor包之類的前置環境。生成證書頒發證書 1.生成ca證書私鑰 open...

Harbor配置https訪問

harbor內部預設是http方式進行通訊的,如果要配置https就需要用到證書。harbor支援用三方簽發證書,也支援使用自簽發證書。linux openssl簽發證書 habor https證書配置官方文件 1 拿到應用證書和對應的私鑰 2 修改harbor.yml配置 tip 在修改配置之前,...

配置對Harbor的HTTPS訪問

預設情況下,harbor不提供證書。可以在沒有安全性的情況下部署harbor,這樣您就可以通過http連線到它。但是,只有在沒有連線到外部internet的空間隙測試或開發環境中才可以使用http。在沒有空間隙的環境中使用http會暴露給中間人攻擊。在生產環境中,始終使用https。如果啟用帶公證人...