一、SSL证书生成流程
生成SSL证书需要经过密钥生成、证书签名请求(CSR)创建、CA验证等核心步骤:
- 生成RSA私钥(2048位加密强度)
openssl genrsa -out server.key 2048
- 创建CSR文件,需填写国家代码、域名等元数据
openssl req -new -key server.key -out server.csr
- 提交CSR至证书颁发机构(CA),完成域名所有权验证
- 获取CA签发的证书文件(如.crt/.pem格式)
自签名证书可通过openssl x509 -req -in server.csr -signkey server.key -out server.crt
生成,但仅建议用于测试环境。
二、证书安装与配置
证书文件需与私钥文件配对部署到服务器指定目录:
- Nginx服务器需配置
ssl_certificate
和ssl_certificate_key
路径指向证书文件 - Apache服务器需在虚拟主机配置中指定
SSLCertificateFile
和SSLCertificateKeyFile
- 需配置强制HTTPS跳转,更新防火墙规则开放443端口
SSLCertificateFile /etc/ssl/certs/server.crt SSLCertificateKeyFile /etc/ssl/private/server.key
三、服务器环境配置
完成部署后需进行环境验证:
- 重启Web服务器使配置生效
systemctl restart nginx
- 使用在线工具检测SSL握手状态(如SSL Labs测试)
- 配置证书自动续期,推荐使用crontab定时任务
商业证书需关注有效期,Let’s Encrypt证书建议配置自动续期脚本。
通过标准化流程生成和部署SSL证书,可快速实现网站HTTPS加密。重点需关注密钥安全管理、证书链完整性验证以及配置后的兼容性测试。建议生产环境优先选择可信CA机构颁发的证书。