Ssl
私有 Docker Registry(帶有 TLS 證書)
我正在嘗試根據https://docs.docker.com/registry/deploying/#running-a-domain-registry的文件設置一個私有 docker 系統資料庫。
我使用 StartSSL 作為證書頒發者,下載了他們的中間 crt 並將它們與我的客戶端證書結合起來:
cd certs cat sca.server3.crt ca.crt client.pem > client.crt
啟動系統資料庫後
docker run --rm -p 5000:5000 --name registry -v `pwd`/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/client.crt -e REGISTRY_HTTP_TLS_KEY=/certs/private.key registry:2
系統資料庫抱怨私鑰/公鑰不匹配。但是,相同的證書 + 私鑰在其他一些 Apache 站點中也可以使用。在將中間 crt 添加到 client.crt 之前,我沒有收到該錯誤
time="2016-07-18T11:34:19Z" level=fatal msg="crypto/tls: private key does not match public key"
由於系統資料庫在 Intranet(不是公共 Internet)中執行,我不想設置 apache/nginx 只是為了充當代理。
旁注:我正在使用 Docker Mac(Docker 版本 1.12.0-rc4,建構 e4a0dbc,實驗性)。
我記得如何組合證書的順序很重要。
嘗試自下而上的方法:
cat domain.crt intermediate-certificates.pem ca.pem > chained-domain.crt