ミラー港の倉庫-httpsアクセス設定

1.証明書の生成

テストまたは開発環境では、信頼できるサードパーティCAのから自己署名証明書ではなく、証明書を使用するように選択することができます。
以下は、独自のCAを作成する方法をお見せし、サーバ証明書とクライアント証明書に署名するためにあなたのCAを使用します。

 
1.1証明書の生成CA
[root@docker ~]# mkdir /docker
[root@docker ~]# cd /docker/
[root@docker docker]# ll
总用量 0
[root@docker docker]# openssl genrsa -out ca.key 4096
Generating RSA private key, 4096 bit long modulus
................................................................................................................++
......................................................................................................................................................................................................................................................................++
e is 65537 (0x10001)

### 这里CN填写你的https设置的域名,即你harbor配置文件中hostanme填写的内容

[root@docker docker]# openssl req -x509 -new -nodes -sha512 -days 3650 \
 -subj "/CN=192.168.1.109" \
 -key ca.key \
 -out ca.crt

[root@docker docker]# ll
总用量 8
-rw-r--r-- 1 root root 1797 4月  18 11:16 ca.crt
-rw-r--r-- 1 root root 3247 4月  18 11:16 ca.key
 
1.2の取得​​サーバー証明書

:1)あなた自身の秘密鍵を作成し
たOpenSSL genrsa -out server.keyの4096
証明書署名要求を2)生成:
OpenSSLのREQ -sha512 -new 
-subj "/CN=192.168.1.109" 
-key server.keyの 
-out server.csr

[root@docker docker]# ll
总用量 16
-rw-r--r-- 1 root root 1797 4月  18 11:16 ca.crt
-rw-r--r-- 1 root root 3247 4月  18 11:16 ca.key
-rw-r--r-- 1 root root 1590 4月  18 11:22 server.csr
-rw-r--r-- 1 root root 3247 4月  18 11:21 server.key
 
1.3証明書生成港の倉庫ホスト
1.3.1 v3.extファイルを変更

v3.ext:レジストリサブジェクトの別名(SAN)の拡張およびX509 v3の要件に沿ったホスト証明書を生成するには、このコマンドを実行して、ホストのレジストリに接続するために同様のyourdomain.com FQDNまたはIPを使用しているかどうか

cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth 
subjectAltName = @alt_names

[alt_names]
DNS.1=192.168.1.109
EOF
 
1.3.2証明書世代の港湾倉庫ホスト
[root@docker docker]# openssl x509 -req -sha512 -days 3650 \
-extfile v3.ext \
-CA ca.crt -CAkey ca.key -CAcreateserial \
-in server.csr \
-out server.crt
Signature ok
subject=/CN=192.168.1.109
Getting CA Private Key
此时证书创建成功
[root@docker docker]# ll
总用量 28
-rw-r--r-- 1 root root 1797 4月  18 11:16 ca.crt
-rw-r--r-- 1 root root 3247 4月  18 11:16 ca.key
-rw-r--r-- 1 root root 1834 4月  18 11:31 server.crt
-rw-r--r-- 1 root root 1590 4月  18 11:22 server.csr
-rw-r--r-- 1 root root 3247 4月  18 11:21 server.key
-rw-r--r-- 1 root root  233 4月  18 11:30 v3.ext
 
インストールと設定2

1)サーバ証明書とキーポートを設定
:をserver.crtとserver.keyのファイルを取得した後、あなたは、ディレクトリ/データ/ CERT /にコピーすることができます

2)港湾の設定ファイルを変更し
、ファイルharbor.cfgを編集するには、ホスト名とプロトコルを更新し、プロパティssl_certとssl_cert_keyを更新します。

hostname = yourdomain.com:port
ui_url_protocol = https
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key

3)再起動港

为Harbor生成配置文件:
 ./prepare
如果Harbor已在运行,请停止并删除现有实例。您的图像数据保留在文件系统中
  docker-compose down -v
最后,重启harbor:
  docker-compose up -d

4)クライアント港に認証するように構成され
、すべての必要なプッシュまたはミラーコピー機がドッキングウィンドウに証明書を必要と引っ張ります。

a. 创建存放域名证书的目录
[root@Arcgisdocker ~]# mkdir -p /etc/docker/certs.d/192.168.1.109
b. 移动证书到docker目录下
cp ca.crt  /etc/docker/certs.d/192.168.1.109/ca.crt
c. 测试推送拉取
[root@DockerRegistry harbor]# docker tag busybox:latest 192.168.1.109/software/busybox:002  ##打上仓库地址标签
[root@DockerRegistry harbor]# docker push 192.168.1.109/software/busybox:002                ##推送测试,
The push refers to repository [192.168.1.109/software/busybox]                              ##这里已经推送过了,提示存在
0b97b1c81a32: Layer already exists
002: digest: sha256:f79f7a10302c402c052973e3fa42be0344ae6453245669783a9e16da3d56d5b4 size: 527
[root@DockerRegistry harbor]# docker rmi -f af2f74c517aa                                    ##删除镜像
Untagged: 192.168.1.109/software/busybox:002
Untagged: 192.168.1.109/software/busybox@sha256:f79f7a10302c402c052973e3fa42be0344ae6453245669783a9e16da3d56d5b4
Untagged: busybox:latest
Untagged: busybox@sha256:954e1f01e80ce09d0887ff6ea10b13a812cb01932a0781d6b0cc23f743a874fd
Deleted: sha256:af2f74c517aac1d26793a6ed05ff45b299a037e1a9eefeae5eacda133e70a825
Deleted: sha256:0b97b1c81a3200e9eeb87f17a5d25a50791a16fa08fc41eb94ad15f26516ccea
[root@DockerRegistry harbor]# docker pull 192.168.1.109/software/busybox:002                ###拉取镜像测试
002: Pulling from software/busybox
fc1a6b909f82: Pull complete
Digest: sha256:f79f7a10302c402c052973e3fa42be0344ae6453245669783a9e16da3d56d5b4
Status: Downloaded newer image for 192.168.1.109/software/busybox:002

ハーバーHTTPSを設定した後、次の手順で確認できます。
ブラウザを開き、アドレスを入力してください:HTTPS://yourdomain.comこれは、ユーザ・インターフェース・ハーバーを示すべきです。
我々は自己署名CAによって署名された位置とCA証明書を導入しても、一部のブラウザではまだ証明機関(CA)は、未知の警告に関連する安全上の理由で表示されることがあることに注意してください。自己署名サードパーティCAは、基本的にあなたが警告を解決するために、ブラウザにCAを所有することができます信頼できるCAではないためです

 

設定の例:

結果としてCentOSの7 ca.crtファイルのルートディレクトリクライアントドッキングウィンドウの再起動ドッキングウィンドウのログ画像倉庫へ 

[ルート@ DEV-グレーcargo.caicloudprivatetest.com]#のPWD 
/etc/docker/certs.d/cargo.caicloudprivatetest.com 
[ルート@ DEV-グレーcargo.caicloudprivatetest.com]#LSの
ca.crt 
[ルート@ DEV-グレーcargo.caicloudprivatetest.com]#]ドッキングウィンドウのログインcargo.cai ****** tetest.com -u管理者-p Pwの**** 56 
WARNING!CLI経由で--password使用することは安全ではありません。--password-STDIN使用します。
警告!パスワードは暗号化されていない/root/.docker/config.jsonに保存されます。
この警告を削除する資格のヘルパーを設定します。参照
https://docs.docker.com/engine/reference/commandline/login/#credentials-storeを

ログインが成功しました

 

おすすめ

転載: www.cnblogs.com/weifeng1463/p/11106462.html