证书生成基本原理
SSL证书通过非对称加密机制保障代理服务器通信安全,包含私钥和公钥两部分。有效证书需由受信证书颁发机构(CA)签发,或通过自签名方式生成临时证书。实际生产环境中推荐使用Let’s Encrypt等免费CA机构签发证书。
生成密钥与CSR文件
使用OpenSSL工具生成2048位以上的RSA私钥和证书签名请求(CSR):
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr
生成过程中需要填写以下信息:
- 国家代码(CN/US等)
- 省份与城市名称
- 组织单位全称
- 代理服务器完整域名
证书验证与签发
将CSR文件提交至CA机构后,需完成域名所有权验证:
- DNS解析验证:添加指定TXT记录
- 文件验证:在网站根目录放置验证文件
- 邮箱验证:通过管理员邮箱确认
通过验证后CA会签发包含有效期(通常90天)的证书文件,包含.crt证书和.ca-bundle中间证书链。
服务器证书配置
在Nginx代理服务器配置中需指定证书路径:
server {
listen 443 ssl;
ssl_certificate /path/server.crt;
ssl_certificate_key /path/server.key;
}
建议启用HSTS安全协议并配置证书自动续期脚本,使用crontab定时执行证书更新任务。
生成有效SSL证书需遵循密钥生成、CA验证、服务配置三个核心步骤。使用自动化工具可简化证书管理,推荐结合Certbot实现Let’s Encrypt证书的自动签发与部署,确保证书持续有效。