首页 > 编程知识 正文

docker ssl(docker应用实例)

时间:2023-05-03 12:27:28 阅读:68048 作者:75

为了更轻松地打包和部署,服务器必须打开2375端口才能连接到docker,但如果不打开端口进行任何安全保护,则会导致安全漏洞、入侵、开采,以及CPU 知道你IP的人可以管理这台主机上的容器和镜像,这很不安全。

要解决安全问题,可以使用技术分层传输协议(TLS )进行传输并使用CA认证。

创建证书和私钥必须使用OpenSSL创建CA机构证书、服务端证书和客户端证书。 以下所有操作都在安装了Docker的Linux服务器上执行。

生成的证书和私钥mkdir /docker-CA cd /docker-ca创建创建用于存储ca证书私钥的目录。 在此期间需要输入两次密码。 生成文件为ca-key.pemopensslgenrsa-AES 256-out ca-key.PEM 40996。您必须输入在此期间在上一步骤中设置的私钥密码,然后依次输入国家/地区为CN。 省可以自由填写,例如广东、市申镇、组织名称、组织单位、名称或服务器名称、电子邮件地址。 生成文件为ca.pemopensslreq-new-x509-days 365-key ca-key.PEM-sha 256-out ca.PEM创建服务端私钥,生成文件为server-key. 或者域名也可以。 在生成文件server.csropensslreq-subj '/cn=192.168.3.171 '-sha 256-new-key server-key.PEM-outserver.CSR中显示白色这里需要注意。 0.0.0.0任意匹配,但必须配置服务器IP。 如果省略,则会出错echosubjectaltname=IP :192.168.3.171 IP :0.0.0 extfile.cn f将Docker守护进程密钥的扩展使用属性仅用于服务器验证在此期间,必须输入CA证书的私钥密码。 生成文件为server-cert.pemopensslx 509-req-days 365-sha 256-in server.CSR-ca.PEM-cake yca-key.PEM 为- cacreateserial-outserver-cert.PEM-extfile extfile.cn f创建客户端私钥, 为ca生成key.pemopensslgenrsa-out key.PEM 4096的客户端证书签名请求文件的client.CSROpenSSLreq-subj'/要使密钥与生成cn=client '-new-keykey.PEM-out client.CSR文件的客户端验证相匹配,请使用扩展配置文件echoextendedkeyusage=clientauthextfified 在此期间,必须输入CA证书的私钥密码。 生成文件为cert.pemopensslx 509-req-days 365-sha 256-in client.CSR-caca.PEM-cake yca-key.PEM - cacreateserial-out cert.PEM-extfile extfile.cn f删除不需要的文件, 更改两个证书签名请求rm -v client.csr server.csr证书以只读权限保证证书的安全chmod-v 0400 ca-key.PEM key.pemserver-key.PEM chmod-v 0444 ca . 444ca证书CP server-*.PEM/etc/docker/cpca.PEM/etc/docker /最终生成文件如下,它们提供了基于TLS的安全访问

- ca.pem CA证书- ca-key.pem CA证书私钥- server-cert.pem服务器端证书- server-key.pem服务器端证书私钥- cert.pem客户端证书- key.pem库r/lib/systemd/system/docker.service更改以ExecStart开头的配置并打开TLS验证。 CA证书、服务端证书、服务端私钥ExecStart=/usr/暴躁山水/dockerd---TLS verify---- TLS cacert=/etc/docker/ca.PEM-TTT 服务器- key.PEM-htcp ://0.0.0. 033602375-hunix ://var/run/docker.sockdaemonsystemctldaemon -重新加载reloadsystemctlrestartdocker,重新启动docker service docker restart配置idea,然后重新启动相关客户端的pem缓冲区

如果连接失败,将发生cannot connect:Java.io.io exception:chaneldisconnectedbeforeanydatawasreceived。 原因基本上是证书的配置问题,只要按照上述步骤再次出现错误就没问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。