Featured image of post 腾讯云SSL证书配置

腾讯云SSL证书配置

腾讯云SSL证书配置京东云服务器完整指南

字数: 1704

博客文章:腾讯云SSL证书配置京东云服务器完整指南

一、背景

我有一个腾讯云注册的域名 xxxx.top,服务器在京东云,需要为小程序配置 HTTPS 接口。本文将完整记录从申请证书到配置成功的全过程。


二、环境说明

项目说明
域名xxxx.top(腾讯云注册)
服务器京东云 CentOS
Web服务器Nginx 1.21.4
证书类型腾讯云免费DV证书
有效期90天(2026年到期)

三、操作步骤

第一步:腾讯云申请SSL证书

  1. 登录腾讯云控制台 → SSL证书 → 申请免费证书
  2. 绑定域名:xxxx.top、www.xxxx.top
  3. 验证方式:选择手动DNS验证
  4. 获取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

五、配置要点总结

  1. 证书路径要正确:ssl_certificate 和 ssl_certificate_key 指向实际文件
  2. 私钥权限要严格:.key 文件必须是 600 权限
  3. 开放443端口:京东云安全组需要添加入站规则
  4. HTTP跳转HTTPS:避免用户访问错误的协议
  5. 小程序域名白名单:需在微信公众平台配置 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证书

image-20260807162814726

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

image-20260807163007888

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 浏览器验证

  1. 用无痕模式打开浏览器(Ctrl+Shift+N)
  2. 访问 https://你的域名
  3. 点击地址栏的 🔒 小锁图标
  4. 查看证书到期日期

💡 如果浏览器仍显示旧证书,需要清除浏览器缓存和HSTS记录(见第六节)。

关键词:腾讯云 SSL证书、京东云服务器、Nginx配置、HTTPS、小程序开发

本页阅读 -- 次
发布了 13 篇文章 | 共 43.6K 字 | 总访客数: Loading | 总访问量: Loading
Hugo theme Stack designed by Jimmy | 黔ICP备2025049100号-1