博客文章:腾讯云SSL证书配置京东云服务器完整指南
一、背景
我有一个腾讯云注册的域名 xxxx.top,服务器在京东云,需要为小程序配置 HTTPS 接口。本文将完整记录从申请证书到配置成功的全过程。
二、环境说明
| 项目 | 说明 |
|---|---|
| 域名 | xxxx.top(腾讯云注册) |
| 服务器 | 京东云 CentOS |
| Web服务器 | Nginx 1.21.4 |
| 证书类型 | 腾讯云免费DV证书 |
| 有效期 | 90天(2026年到期) |
三、操作步骤
第一步:腾讯云申请SSL证书
- 登录腾讯云控制台 → SSL证书 → 申请免费证书
- 绑定域名:
xxxx.top、www.xxxx.top - 验证方式:选择手动DNS验证
- 获取TXT记录值:
- 主机记录:
_acme-challenge - 记录值:一串长字符串
- 主机记录:
第二步:京东云DNS添加解析
登录京东云控制台 → 云解析DNS → 添加TXT记录:
| 记录类型 | 主机记录 | 记录值 |
|---|---|---|
| TXT | _acme-challenge | 腾讯云提供的一串字符 |
等待2-5分钟生效后,回腾讯云点击"验证域名"。
第三步:下载证书
证书签发后,下载 Nginx版本 的证书包,解压得到:
xxxx.top_bundle.crt(证书文件)xxxx.top.key(私钥文件)
第四步:上传证书到服务器
# 创建证书目录
mkdir -p /etc/nginx/ssl/xxxx.top
# 上传证书文件到此目录(通过FTP或scp)
# 设置权限
chmod 644 /etc/nginx/ssl/xxxx.top/*.crt
chmod 600 /etc/nginx/ssl/xxxx.top/*.key
第五步:配置Nginx
编辑 /usr/local/nginx/conf/nginx.conf,添加HTTPS配置:
# HTTPS 配置
server {
listen 443 ssl http2;
server_name xxxx.top;
ssl_certificate /etc/nginx/ssl/xxxx.top/xxxx.top_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/xxxx.top/xxxx.top.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 其他location配置...
}
# HTTP 跳转 HTTPS
server {
listen 80;
server_name xxxx.top;
return 301 https://$server_name$request_uri;
}
第六步:重载Nginx
/usr/local/nginx/sbin/nginx -t # 检查配置
/usr/local/nginx/sbin/nginx -s reload # 重载
第七步:验证生效
# 检查端口监听
netstat -tlnp | grep :443
# 测试HTTPS
curl -k https://xxxx.top
# 查看证书信息
curl -vI https://xxxx.top 2>&1 | grep -E "SSL|issuer|expire"
四、遇到的问题及解决
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 正式版小程序网络失败 | HTTP被微信拦截 | 升级为HTTPS |
| 域名托管在京东云 | 不在腾讯云DNS | 手动添加TXT记录 |
| 证书权限错误 | .key文件权限644 | 改为 chmod 600 |
| Nginx配置路径不同 | 源码编译安装 | 确认路径 /usr/local/nginx |
五、配置要点总结
- 证书路径要正确:
ssl_certificate和ssl_certificate_key指向实际文件 - 私钥权限要严格:
.key文件必须是600权限 - 开放443端口:京东云安全组需要添加入站规则
- HTTP跳转HTTPS:避免用户访问错误的协议
- 小程序域名白名单:需在微信公众平台配置
https://xxxx.top
六、最终效果
✅ HTTPS 访问成功 ✅ 证书有效期至2026年 ✅ HTTP自动跳转HTTPS ✅ 小程序可正常调用API
浏览器访问 https://xxxx.top,地址栏显示小锁图标 🔒
七、相关命令速查
# Nginx配置检查
/usr/local/nginx/sbin/nginx -t
# 重载配置
/usr/local/nginx/sbin/nginx -s reload
# 查看证书有效期
openssl x509 -in /path/to/cert.crt -noout -dates
# 查看443端口
netstat -tlnp | grep 443
# 测试HTTPS
curl -k https://你的域名
八、第二次手动续费
1.申请免费ssl证书

三、下载并上传证书到服务器

3.1 下载证书
在腾讯云SSL证书控制台,点击 下载,选择 Nginx版本 的证书包。
解压后得到以下文件:
xxxx.top_bundle.crt # 证书文件(含中间证书)
xxxx.top.key # 私钥文件
3.2 上传证书到服务器
# 进入证书目录
cd /etc/nginx/ssl/xxxx.top/
# 上传新证书文件(通过scp或FTP覆盖旧文件)
# 本地执行(示例):
scp xxxx.top_bundle.crt root@服务器IP:/etc/nginx/ssl/xxxx.top/
scp xxxx.top.key root@服务器IP:/etc/nginx/ssl/xxxx.top/
3.3 设置文件权限
# 证书文件权限 644
chmod 644 /etc/nginx/ssl/xxxx.top/xxxx.top_bundle.crt
# 私钥文件权限必须为 600(重要!)
chmod 600 /etc/nginx/ssl/xxxx.top/xxxx.top.key
⚠️ 关键提醒:私钥文件权限如果不是
600,Nginx 将无法加载证书!
四、部署证书并重载Nginx
4.2 重载Nginx使证书生效
# 检查配置语法
/usr/local/nginx/sbin/nginx -t
# 如果显示 "syntax is ok",执行重载
/usr/local/nginx/sbin/nginx -s reload
# 如果 reload 不生效,可尝试完全重启
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
五、验证证书是否生效
5.1 服务器端验证(最准确)
# 方法一:查看本地证书文件有效期
openssl x509 -in /etc/nginx/ssl/xxxx.top/xxxx.top_bundle.crt -noout -dates
# 方法二:通过HTTPS连接获取证书信息
echo | openssl s_client -servername xxxx.top -connect xxxx.top:443 2>/dev/null | openssl x509 -noout -dates
期望输出(到期日期应为新证书的日期):
text
notBefore=Aug 7 07:00:00 2026 GMT
notAfter=Nov 5 06:59:59 2026 GMT
5.2 浏览器验证
- 用无痕模式打开浏览器(
Ctrl+Shift+N) - 访问
https://你的域名 - 点击地址栏的 🔒 小锁图标
- 查看证书到期日期
💡 如果浏览器仍显示旧证书,需要清除浏览器缓存和HSTS记录(见第六节)。
关键词:腾讯云 SSL证书、京东云服务器、Nginx配置、HTTPS、小程序开发
