当前位置:首页 > 运维技术 > 正文

EJBCA如何绑定域名?SSL证书申请流程详解

EJBCA 访问域名(Web 访问)

  • 作用:用户通过浏览器访问 EJBCA 管理界面(如 https://ca.yourdomain.com:8443/ejbca)。
  • 配置步骤
    1. 服务器主机名

      确保 EJBCA 服务器的主机名解析正确(如 ca.yourdomain.com)。 hostnamectl set-hostname ca.yourdomain.com

    2. 反向代理(可选)

      通过 Nginx/Apache 代理请求到 EJBCA(端口 8443),并配置 SSL 证书。 # Nginx 示例配置 server { listen 443 ssl; server_name ca.yourdomain.com; ssl_certificate /path/to/ssl_cert.pem; ssl_certificate_key /path/to/ssl_key.key; location / { proxy_pass https://localhost:8443; proxy_set_header Host $host; } }

    3. 防火墙:开放端口 443(HTTPS)和 8443(EJBCA 默认端口)。


证书中的域名(Subject DN / SAN)

  • Subject DN

    EJBCA 签发的证书可包含域名(如 CN=www.yourdomain.com)。

  • SAN(Subject Alternative Name)

    更灵活的域名扩展(支持 DNS 名称、IP、通配符等)。

  • 配置方式
    • 证书模板:在 EJBCA 中创建模板时启用 SAN 扩展
    • CSR 提交:申请证书时在 CSR 中指定 SAN 域名。
    • 自动填充:通过 EJBCA 的 End Entity 字段自动添加 SAN(如 DNSNAME=www.yourdomain.com)。


默认域名 default.domain 问题

  • 安装时提示

    初始安装可能要求输入 default.domain(如 example.com),用于生成自签名根证书的 DN。

  • 修改方法
    1. 编辑 ejbca/conf/ejbca.properties: ca.defaultdomain=yourdomain.com
    2. 重建 CA 证书(需重新初始化数据库): ./ejbca.sh ca init


DNS 与 EJBCA 服务集成

  • OCSP/CRL 服务

    若通过域名提供 OCSP 或 CRL 服务(如 http://ocsp.yourdomain.com),需:

    EJBCA如何绑定域名?SSL证书申请流程详解 第1张

    EJBCA如何绑定域名?SSL证书申请流程详解 第2张

    • 在 DNS 中解析域名到服务器 IP。
    • 在证书中配置相应 SAN(如 DNS:ocsp.yourdomain.com)。


常见问题解决

  • 证书域名不匹配

    确保签发的证书 SAN 包含客户端访问的域名(如浏览器访问 https://ca.yourdomain.com,证书需覆盖此域名)。

  • 无法解析主机名

    检查 /etc/hosts 或 DNS 解析,确保服务器主机名可被自身解析: # /etc/hosts 示例 192.168.1.100 ca.yourdomain.com

  • 端口冲突

    若与其他服务冲突,修改 EJBCA 端口(ejbca.properties 中 appserver.http.port 和 appserver.https.port)。


最佳实践建议

  1. 使用 SAN 替代 CN:优先通过 SAN 字段添加域名(符合现代证书标准)。
  2. 通配符证书

    如需多子域名,签发通配符证书(*.yourdomain.com)。

  3. 自动化部署

    通过 EJBCA REST API 或 ejbca-ws-cli 工具自动申请证书(集成到 DevOps 流程)。

提示:详细配置参考官方文档 → EJBCA Documentation

EJBCA如何绑定域名?SSL证书申请流程详解 第3张

如有具体场景(如通配符证书签发、OCSP 配置),欢迎提供更多细节!

0