[Docker] 配置 docker 远程连接的 TLS 时,为何 C/S 都需要证书


实际配置

服务端为

dockerd \
--tlsverify \
--tlscacert=ca.pem \
--tlscert=server-cert.pem \
--tlskey=server-key.pem \
-H=0.0.0.0:2376

客户端为

docker --tlsverify \
--tlscacert=ca.pem \
--tlscert=client-cert.pem \
--tlskey=client-key.pem \
-H=$HOST:2376 version

文档地址
https://docs.docker.com/engine/security/protect-access/#create-a-ca-server-and-client-keys-with-openssl

认定的配置

服务端的参数没有疑问, 客户端感觉比较奇怪
觉着这样就 ok 了

docker --tlsverify \
--tlscacert=ca.pem \
-H=$HOST:2376 version

个人思路

证书的作用是 client 与 server 建立加密连接时
server 告知 client 自己的证书
client 检查证书的合法性,来确认 server 的身份

而官方文档的配置中
client 也需要一套 证书 有这个必要么??
难道 docker-server 端 会另外向 docker-client 发起连接请求
然后验证 client 的证书的合法性??

发表回复

您的电子邮箱地址不会被公开。