日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker - 实战TLS加密通讯

發(fā)布時間:2024/9/27 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker - 实战TLS加密通讯 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用說明
演示環(huán)境(centos7,docker17.06.0-ce)
創(chuàng)建一個文件夾

mkdir /ssl cd /ssl

創(chuàng)建ca密鑰

openssl genrsa -aes256 -out ca-key.pem 4096

創(chuàng)建ca證書

openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj "/CN=*" -out ca.pem

創(chuàng)建服務器私鑰

openssl genrsa -out server-key.pem 4096

簽名私鑰

openssl req -subj "/CN=*" -sha256 -new -key server-key.pem -out server.csr

使用ca證書與私鑰證書簽名

openssl x509 -req -days 1000 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem

生成客戶端密鑰

openssl genrsa -out key.pem 4096

簽名客戶端

openssl req -subj "/CN=client" -new -key key.pem -out client.csr

創(chuàng)建配置文件

echo extendedKeyUsage=clientAuth > extfile.cnf

簽名證書

openssl x509 -req -days 1000 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf

刪除多余文件

rm -rf ca.srl client.csr extfile.cnf server.csr

配置docker

cat /lib/systemd/system/docker.service

將里面的

ExecStart=/usr/bin/dockerd

修改為

ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/ssl/ca.pem --tlscert=/ssl/server-cert.pem --tlskey=/ssl/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock

重啟后臺進程

systemctl daemon-reload

重啟docker服務

systemctl restart docker

將 /ssl/ca.pem /ssl/cert.pem /ssl/key.pem 三個文件復制到另一臺主機
直接使用IP地扯連接如出現(xiàn)如下錯誤

cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs

不使用localhost方法:將以上創(chuàng)建證書中的/CN=*星號修改成自己的域名即可(例如:/CN=dounine.com)
docker主機連接測試

docker --tlsverify --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem -H tcp://localhost:2376 version

成功連接提示信息

Client:Version: 17.06.0-ceAPI version: 1.30Go version: go1.8.3Git commit: 02c1d87Built: Fri Jun 23 21:20:36 2017OS/Arch: linux/amd64Server:Version: 17.06.0-ceAPI version: 1.30 (minimum version 1.12)Go version: go1.8.3Git commit: 02c1d87Built: Fri Jun 23 21:21:56 2017OS/Arch: linux/amd64Experimental: false

總結(jié)

以上是生活随笔為你收集整理的Docker - 实战TLS加密通讯的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。