EJBCA如何绑定域名?SSL证书申请流程详解
- 运维技术
- 2026-02-11
- 2700
EJBCA 访问域名(Web 访问)
- 作用:用户通过浏览器访问 EJBCA 管理界面(如 https://ca.yourdomain.com:8443/ejbca)。
- 配置步骤:
- 服务器主机名:
确保 EJBCA 服务器的主机名解析正确(如 ca.yourdomain.com)。 hostnamectl set-hostname ca.yourdomain.com
- 反向代理(可选):
通过 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; } }
- 防火墙:开放端口 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。
- 修改方法:
- 编辑 ejbca/conf/ejbca.properties: ca.defaultdomain=yourdomain.com
- 重建 CA 证书(需重新初始化数据库): ./ejbca.sh ca init
DNS 与 EJBCA 服务集成
- OCSP/CRL 服务:
若通过域名提供 OCSP 或 CRL 服务(如 http://ocsp.yourdomain.com),需:


- 在 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)。
最佳实践建议
- 使用 SAN 替代 CN:优先通过 SAN 字段添加域名(符合现代证书标准)。
- 通配符证书:
如需多子域名,签发通配符证书(*.yourdomain.com)。
- 自动化部署:
通过 EJBCA REST API 或 ejbca-ws-cli 工具自动申请证书(集成到 DevOps 流程)。
提示:详细配置参考官方文档 → EJBCA Documentation
如有具体场景(如通配符证书签发、OCSP 配置),欢迎提供更多细节!
