一、前期准备与环境确认
在开始配置前,需确保已具备以下基础条件:
- 轻量云服务器实例:已创建并运行中的虚拟服务器,支持HTTP/HTTPS服务部署。
- 域名所有权:拥有可管理的域名,且域名状态为“已注册”且未过期。
- DNS管理权限:能够修改域名的DNS解析记录(如TXT、CNAME等)。
- 服务器安全组配置:开放80(HTTP)和443(HTTPS)端口,确保外部访问权限。
二、SSL证书申请流程
SSL证书是网站安全的基础,主流云服务商提供免费DV(域名验证)证书,有效期通常为90天,需定期续期。以下是详细步骤:
1. 进入证书管理控制台
登录云控制台,导航至“安全服务”或“证书管理”模块,选择“SSL证书”功能,点击“申请免费证书”。
2. 填写证书信息
- 证书类型:选择“DV(域名验证)证书”,适合个人或小型网站。
- 绑定域名:输入需加密的完整域名(如
example.com或www.example.com)。 - 验证方式:推荐使用“DNS验证”,无需中断服务且操作简便。
3. 提交申请并获取验证记录
提交后,系统会生成一条TXT格式的DNS验证记录,内容类似:
_dnsauth.example.com. IN TXT "2023xxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
注意:记录值需完整复制,避免遗漏或格式错误。
三、DNS解析配置与验证
DNS解析是证书申请的关键环节,需在域名管理平台添加验证记录,并确保记录生效。
1. 添加TXT记录
-
主流域名注册商操作:
- 登录域名管理后台,找到“DNS解析”或“域名解析”功能。
- 添加新记录,类型选择“TXT”,主机记录填写
_dnsauth(根据证书要求可能需完整子域名)。 - 记录值粘贴系统生成的验证字符串,保存配置。
-
验证记录生效时间:DNS记录全球同步通常需5-10分钟,部分场景可能延长至30分钟。
2. 触发域名验证
返回证书管理控制台,点击“验证域名”按钮。系统会检查DNS记录是否存在且值匹配:
- 验证成功:显示“证书已签发”,可下载证书文件(通常包含
.crt和.key文件)。 - 验证失败:检查TXT记录是否正确,或等待DNS同步完成后重试。
四、证书部署与网站配置
获得证书后,需将其部署到服务器并配置Web服务(如Nginx、Apache)以启用HTTPS。
1. 证书文件上传
将下载的证书文件(.crt和.key)通过FTP或控制台文件管理上传至服务器指定目录(如/etc/nginx/ssl/)。
2. Nginx配置示例
编辑Nginx配置文件(如/etc/nginx/conf.d/example.com.conf),添加以下内容:
server {listen 443 ssl;server_name example.com www.example.com;ssl_certificate /etc/nginx/ssl/example.com.crt;ssl_certificate_key /etc/nginx/ssl/example.com.key;ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;location / {root /var/www/html;index index.html;}}
关键参数说明:
ssl_certificate:证书文件路径。ssl_certificate_key:私钥文件路径。ssl_protocols:启用安全的TLS版本。
3. 重启Web服务
执行以下命令使配置生效:
sudo systemctl restart nginx
五、证书续期与自动化管理
免费证书有效期较短,需定期续期以避免服务中断。
1. 手动续期流程
- 在证书到期前30天,登录控制台重新申请证书。
- 更新DNS验证记录(若域名未变更,记录值通常不变)。
- 下载新证书并替换服务器上的旧文件。
- 重启Web服务加载新证书。
2. 自动化续期方案(推荐)
使用工具(如Certbot)可实现证书自动续期:
# 安装Certbot(以Ubuntu为例)sudo apt install certbot python3-certbot-nginx# 申请证书并配置自动续期sudo certbot --nginx -d example.com -d www.example.com
Certbot会定期检查证书有效期,并在到期前自动续期并重启Nginx。
六、常见问题与排查
-
验证失败:
- 检查TXT记录是否完整,尤其是引号和空格。
- 使用
dig _dnsauth.example.com TXT命令本地验证记录是否生效。
-
HTTPS无法访问:
- 确认服务器防火墙已开放443端口。
- 检查Nginx配置中
server_name是否与域名匹配。
-
证书过期未续期:
- 设置日历提醒或启用自动化工具。
- 监控证书有效期(可通过
openssl x509 -in example.com.crt -noout -dates命令查看)。
通过以上步骤,您可完成轻量云服务器与域名的结合配置,并实现网站的安全HTTPS加密。定期维护证书和DNS记录是保障网站长期稳定运行的关键。