GitHub:https://github.com/khs1994-docker/tls
本站其他相关文章
自签名证书详解
这里假设想要签署 SSL 的网站为 docker.domain.com
,下面我们介绍使用 openssl
自行签发 docker.domain.com
的站点 SSL 证书。
1. 创建 CA
私钥。
1 | $ openssl genrsa -out "root-ca.key" 4096 |
2. 利用私钥创建 CA
根证书请求文件。
1 | $ openssl req \ |
以上命令中
-subj
参数里的/C
表示国家,如CN
;/ST
表示省;/L
表示城市或者地区;/O
表示组织名;/CN
通用名称。
3. 配置 CA
根证书,新建 root-ca.cnf
。
1 | [root_ca] |
4. 签发根证书。
1 | $ openssl x509 -req -days 3650 -in "root-ca.csr" \ |
5. 生成站点 SSL
私钥。
1 | $ openssl genrsa -out "docker.domain.com.key" 4096 |
6. 使用私钥生成证书请求文件。
1 | $ openssl req -new -key "docker.domain.com.key" -out "site.csr" -sha256 \ |
7. 配置证书,新建 site.cnf
文件。
1 | [server] |
8. 签署站点 SSL
证书。
1 | $ openssl x509 -req -days 750 -in "site.csr" -sha256 \ |
这样已经拥有了 docker.domain.com
的网站 SSL 私钥 docker.domain.com.key
和 SSL 证书 docker.domain.com.crt
。
将 root-ca.crt
导入浏览器中,之后配置好 Web 服务器并重启。