1. 程式人生 > >使用自簽名證書配置TLS搭建安全的Docker本地私有庫

使用自簽名證書配置TLS搭建安全的Docker本地私有庫

編輯openssl.cnf檔案

openssl.cnf 檔案位置:/etc/pki/tls/openssl.cnf

編輯/etc/pki/tls/openssl.cnf檔案,在 [v3_ca]下增加一行:

[ v3_ca ]  
subjectAltName = IP:192.168.169.125  # 此處IP設定為Docker本地私有庫所在主機IP

然後使用openssl命令在當前的certs目錄下建立了一個自簽名的證書:

[[email protected] tls]# mkdir -p certs && openssl req -newkey rsa:4096 \
-nodes -sha256 -keyout certs/domain.key \ -x509 -days 365 -out certs/domain.crt

在證書的建立過程中,會詢問國家、省分、城市、組織、部門和common name的資訊,其中common name資訊我填寫的是Docker私有庫主機的IP 10.0.11.150. 證書建立完畢後,在certs目錄下出現了兩個檔案:證書檔案domain.crt和私鑰檔案domain.key。

[[email protected] tls]# mkdir -p certs && openssl req -newkey rsa:4096 \
-nodes -sha256 -keyout certs/domain.key \ -x509 -days 365 -out certs/domain.crt Generating a 4096 bit RSA private key ...........................................................++ ..............++ writing new private key to 'certs/domain.key' ----- You are about to be asked to enter information that will be incorporated into
your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [XX]:china string is too long, it needs to be less than 2 bytes long Country Name (2 letter code) [XX]:中國 string is too long, it needs to be less than 2 bytes long Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:TJ Locality Name (eg, city) [Default City]:TJ Organization Name (eg, company) [Default Company Ltd]:TJXY Organizational Unit Name (eg, section) []:AI Common Name (eg, your name or your server's hostname) []:10.0.11.150 Email Address []: [[email protected] tls]#

安裝Docker

10.0.11.150主機上安裝Docker,安裝教程檢視:Docker安裝、操作常用命令

複製domain.crt到指定位置

將前面生成的domain.crt檔案複製到/etc/docker/certs.d/10.0.11.150:5000目錄下,然後重啟docker程序:

[root@mimo150 tls]# mkdir -p /etc/docker/certs.d/10.0.11.150:5000
[root@mimo150 tls]# cp certs/domain.crt /etc/docker/certs.d/10.0.11.150:5000/ca.crt
[root@mimo150 tls]# systemctl restart docker

執行registry容器

在Docker私有庫節點10.0.11.150上執行registry容器,並暴露容器的5000埠:

[[email protected] tls]# docker run -d -p 5000:5000 --restart=always \
 --name bigdata_docker_registry \
 --privileged=true \
 -v /etc/pki/tls/certs/certs:/certs \
 -v /data/docker/registry:/var/lib/registry \
 -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
 -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
 docker.io/registry:latest
  • -p 5000:5000 : 指定外部埠5000對映容器內埠5000

  • –name registry : 容器名稱

  • -v /etc/pki/tls/certs:/certs : 指定外部目錄/etc/pki/tls/certs對映容器內部目錄/certs

  • -v /data/docker/registry:/var/lib/registry : 同上一樣,指定目錄掛載對映

同步簽名證書到Docker節點

最後,將domain.crt檔案複製到Kubernetes叢集裡的所有節點的/etc/docker/certs.d/10.0.11.150:5000目錄下,並重啟各節點的docker程序,例如在10.0.11.151節點上執行:

# mkdir -p /etc/docker/certs.d/10.0.11.150:5000
# scp [email protected]:~/certs/domain.crt /etc/docker/certs.d/10.0.11.150:5000/ca.crt
# systemctl restart docker

至此,Docker私有庫搭建完成。

相關推薦

使用簽名證書配置TLS搭建安全Docker本地私有

編輯openssl.cnf檔案 openssl.cnf 檔案位置:/etc/pki/tls/openssl.cnf 編輯/etc/pki/tls/openssl.cnf檔案,在 [v3_ca]下增加一行: [ v3_ca ] subjectAltN

使用簽名證書進行TLS

使用自簽名證書獲取TLS/SSL配置的證書,用於非生產或測試環境。 建立證書的目錄 $ mkdir -p /opt/cloudera/security/x509/ /opt/cloudera/security/jks/ 訪問該目錄,並設定正確的許可權,然後切換到jks目錄

解決linux netcore https請求使用簽名證書忽略安全檢查方法

mva supported support ali figure -s issue 大致 iss 當前系統環境:centos7 x64. dotnet 2.0. 不管是 ServicePointManager.ServerCertificateValidationCallb

Nginx 配置 HTTPS簽名證書

sta num web oca pos sof AI bsp OS 工具:OpenSSL ssl的開源實現,幾乎實現了市面上所有的加密libcrypto: 通用加密庫, 任何軟件要實現加密功能 鏈接調用這個庫libssl: TLS/SSL 加密庫 openssl:

tomcat配置https簽名證書(keytool生成)

pri list tin led str orm unit lock pass tomcat配置https自簽名證書(keytool生成) 生成keystore keytool -genkeypair -alias "server" -keyalg &

Nginx配置https並簽名證書

曾經iOS 為安全起見要求所有請求必須https,記錄專案中配置https過程。 # 生成一個RSA金鑰 openssl genrsa -des3 -out xgj.key 1024 # 拷貝一個不需要輸入密碼的金鑰檔案 openssl rsa -in xgj.key -out xg

使用CA簽名證書搭建HTTPS網站

在自己倒騰https網站的時候用自定義的CA給自己的網站做自簽名的問題一直困擾了我好久,下面是我自己測試成功的案例,網上有很多類似的問題,在這裡儲備一份供自己和他人蔘考使用。 1. 安裝linux,apache,openssl元件,在此不做贅述,我用的就是

Docker部署註冊中心、Docker建立私有映象簽名證書、Deploy a registry server

這是我在內部部署Docker Registry時記錄下來的筆記,操作環境是Centos 7、Docker 18.06.1-ce 1、執行registry 我當前所使用的主機的IP是192.168.1.249,工作目錄在:/data/docker/registry, #

tomcat配置https簽名證書

一、環境搭建 安裝jdk: 略安裝tomcat : 略配置java環境變數:略執行測試tomcat:略安裝vcredist_x86:這個的東西是安裝openssl的環境,安裝oenssl前需安裝此環境。安裝openssL:a網上搜索Win32OpenSSL-1_0_1g.e

簽名證書以及DNS伺服器搭建

1.TSL鏈路通訊 TLS: Transport Layer Security 安全傳輸協議,在應用層 傳輸層之間主要應用https 協議,ftps 協議等https大體流程客戶端A 服務端BA ————》 (連線請求 ) BA《———— (傳送CA私鑰加密過B的公鑰,也就是安全證書)BA (用CA公鑰解開

簽名證書以及DNS服務器搭建

ipv4地址 admin 解密 遠程訪問 sca red 一個 信息 手動 1.TSL鏈路通信 TLS: Transport Layer Security 安全傳輸協議,在應用層 傳輸層之間主要應用https 協議,ftps 協議等https大體流程客戶端A 服務端

CA和證書(企業內網搭建CA服務器生成簽名證書,CA簽署,實現企業內網基於key驗證訪問服務器)

file type ima 1.5 x509 項目 索引 分享 是否 一些CA基礎 PKI:Public Key Infrastructure簽證機構:CA(Certificate Authority)註冊機構:RA證書吊銷列表:CRL X.509:定義了證書的結構以及

Akka-CQRS(13)- SSL/TLS for gRPC and HTTPS:簽名證書產生和使用

  到現在,我們已經完成了POS平臺和前端的網路整合。不過,還是那句話:平臺系統的網路安全是至關重要的。前一篇部落格裡我們嘗試實現了gRPC ssl/tls網路連線,但測試時用的證書如何產生始終沒有搞清楚。現在akka-http開發的ws同樣面臨HTTPS的設定和使用問題。所以,特別抽出這篇博文討論

openssl生成簽名證書

發送 etc des you stat 同時 信息 內部 簽名 第1步:生成私鑰使用openssl工具生成一個RSA私鑰 openssl genrsa -des3 -out server.key 2048說明:生成rsa私鑰,des3算法,2048位強度,server.ke

https CA簽名證書,並給Webserver頒發證書

extension there form nal 3.2 vim city append cor **CA主機執行命令** [root@centos7 ~]# cd /etc/pki/CA [root@centos7 CA]# touch index.txt [root@c

SDWebImage 加載Https簽名證書時的圖片問題

str values ext 找到 from ict ati implement creat 你是否遇到了這種情況,好不容易把自簽名HTTPS證書配置好了,訪問https接口也成功了,但是圖片加載不出來? 傳了SDWebImageAllowInvalidSSLCertifi

iOS開發HTTPS實現之信任SSL證書簽名證書

                                          &nb

沃通SSL證書、程式碼簽名證書應用於機器人安全防護

近兩年,掃地機器人、智慧音箱等消費級機器人產品逐漸走入大眾生活的中。隨著人工智慧技術的迅猛發展,預計2023年全球消費級機器人市場規模將達到150億美元。然而,產業的迅猛發展卻伴隨著安全防護的缺失,安全人員研究了主流的機器人系統安全防護,發現很多產品在基礎安全方面明顯防護不足。 諸多消費級機器人都執行在安卓

opensll簽名證書生成

1.生成私約 genrsa -out privateKey.pem 2048 privateKey.pem -----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAwEIkpHwGCvmOWflCHI/gmYxKuerdupw

HTTPS協議以及雙向數字證書校驗 簽名證書的生成

$ openssl x509 -text -in client.crt -noout Certificate:     Data:         Version: 1 (0×0)         Serial Number:             d6:e3:f6:fa:ae:65:ed:df