materialize/test-certs本Docker镜像专为SSL集成测试场景设计,提供轻量级的测试SSL证书生成与管理功能。通过预配置的证书生成逻辑,帮助开发者和测试人员快速获取符合测试需求的SSL证书,无需手动创建或依赖生产环境证书,有效降低测试环境中SSL配置验证的复杂度和安全风险。
通过以下命令启动容器,默认生成自签名证书(域名localhost,有效期365天,密钥长度2048位):
bashdocker run -d --name ssl-test-cert -v $(pwd)/test-certs:/certs ssl-test-cert-image:latest
生成的证书文件将挂载到本地./test-certs目录,包含:
server.crt:服务器公钥证书server.key:服务器私钥ca.crt(若启用CA模式):自签名CA根证书通过环境变量定制证书属性,支持的参数如下:
| 环境变量 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
CERT_DOMAIN | 证书绑定的域名/IP(支持逗号分隔多域名) | localhost | 如example.com,test.example.com |
CERT_VALID_DAYS | 证书有效期(天) | 365 | 正整数(建议测试场景≤90) |
KEY_LENGTH | 密钥长度(位) | 2048 | 1024, 2048, 4096 |
CERT_TYPE | 证书类型 | self-signed | self-signed(自签名), ca(CA签名) |
ORG_NAME | 证书组织名称(O字段) | Test Org | 自定义字符串 |
COMMON_NAME | 证书通用名称(CN字段) | $CERT_DOMAIN | 自定义域名或标识 |
示例:生成有效期180天、多域名的CA签名证书
bashdocker run -d --name ssl-test-ca \ -e CERT_DOMAIN="api.test.com,web.test.com" \ -e CERT_VALID_DAYS=180 \ -e KEY_LENGTH=4096 \ -e CERT_TYPE=ca \ -e ORG_NAME="My Test Team" \ -v $(pwd)/ca-certs:/certs \ ssl-test-cert-image:latest
在CI/CD pipeline(如GitHub Actions、GitLab CI)中,可通过以下步骤集成:
yaml# .gitlab-ci.yml 示例 test_ssl: stage: test image: docker:latest services: - docker:dind script: - docker run --rm -e CERT_DOMAIN="test-ci.com" -v $(pwd)/certs:/certs ssl-test-cert-image:latest - # 后续测试步骤:使用 ./certs 目录下的证书验证HTTPS服务
root,若需非root用户访问,可通过chmod调整挂载目录权限。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务