将阿里云域名绑定到阿里云服务器,并在其上部署 Spring Boot 项目并配置 HTTPS 接口服务的完整流程。最终实现目标是:微信小程序可以不开启调试模式访问你的后端接口服务

以下是 将阿里云域名绑定到阿里云服务器,并在其上部署 Spring Boot 项目并配置 HTTPS 接口服务的完整流程。最终实现目标是:微信小程序可以不开启调试模式访问你的后端接口服务
在这里插入图片描述


✅ 一、前提条件

在这里插入图片描述

条件说明
阿里云账号已注册并完成实名认证
域名已在阿里云申请并通过备案(必须)
服务器已购买阿里云 ECS 实例,并已开放 80 和 443 端口
后端框架使用 Spring Boot 开发 API 接口

🧩 二、步骤详解

🔹 步骤 1:域名解析到阿里云服务器

在这里插入图片描述

登录阿里云控制台:
  1. 进入【域名控制台】
  2. 找到你要绑定的域名 → 点击“解析”
  3. 添加一条 A 记录:
主机记录记录类型记录值(ECS 公网 IP)TTL
@A你的 ECS 公网 IP默认

✅ 示例:api.example.com 解析到 47.95.xxx.xxx


🔹 步骤 2:在阿里云申请 SSL 证书(免费)

在这里插入图片描述

登录阿里云 → 搜索【SSL证书】→ 购买免费证书
  1. 选择证书类型:DV 版本(个人或企业)
  2. 绑定域名:填写你准备使用的域名如 api.example.com
  3. 验证方式:DNS 自动验证(推荐)
  4. 提交审核,等待几分钟即可签发成功
下载证书:
  • 选择格式:Tomcat / Nginx / Spring Boot 可选 Tomcat 格式
  • 文件包含:
    • pfx 文件(证书文件)
    • 密码文件(.txt

🔹 步骤 3:上传证书到服务器并配置 Spring Boot

在这里插入图片描述

1. 将 .pfx 证书上传到服务器任意目录,例如 /home/cert/api.example.com.pfx
2. 修改 Spring Boot application.yml 配置 HTTPS:
server:
  port: 443
  ssl:
    key-store: classpath:cert/api.example.com.pfx # 证书路径(建议放在 resources/cert/ 目录下)
    key-store-password: your_certificate_password # 证书密码(从 .txt 文件获取)
    key-store-type: PKCS12
    key-alias: api.example.com # 别名一般为域名
3. 将证书放入 Spring Boot 项目中:
  • 放在 src/main/resources/cert/ 目录下
4. 启动 Spring Boot 应用后,HTTPS 接口即可通过域名访问:

在这里插入图片描述

https://api.example.com/user/list

🔹 步骤 4:配置安全组规则,开放 443 端口

在这里插入图片描述

登录阿里云控制台 → 进入【ECS 控制台】
  1. 找到你的服务器实例
  2. 点击“安全组” → “配置规则”
  3. 添加入方向规则:
协议类型端口范围授权对象描述
HTTPS4430.0.0.0/0允许外部访问 HTTPS

🔹 步骤 5:将域名添加到微信小程序合法域名白名单

登录微信公众平台 → 开发管理 → 开发设置 → 服务器域名

在这里插入图片描述

将以下地址加入白名单:

  • request 合法域名:https://api.example.com

✅ 注意事项:

  • 必须使用 HTTPS 协议
  • 必须已完成 ICP 备案
  • 不能带端口号(默认 443)

📦 三、Spring Boot 完整代码示例

在这里插入图片描述

📄 示例 Controller:UserController.java

@RestController
@RequestMapping("/user")
public class UserController {

    // 示例接口:GET https://api.example.com/user/list
    @GetMapping("/list")
    public ResponseEntity<List<String>> getUserList() {
        List<String> users = Arrays.asList("张三", "李四", "王五");
        return ResponseEntity.ok(users);
    }
}

📄 application.yml(HTTPS 配置)

server:
  port: 443
  ssl:
    key-store: classpath:cert/api.example.com.pfx
    key-store-password: your_certificate_password
    key-store-type: PKCS12
    key-alias: api.example.com

📊 四、总结对比表

步骤内容说明
域名解析绑定到 ECS 公网 IP使用阿里云 DNS 解析
SSL 证书申请免费 DV 证书在阿里云 SSL 控制台操作
Spring Boot HTTPS 配置使用 pfx + password放在 resources/cert 目录下
安全组设置开放 443 端口防火墙规则允许 HTTPS 流量
微信小程序域名白名单添加 https://api.example.com必须 HTTPS + 已备案
微信小程序请求uni.request({ url: 'https://api.example.com/user/list' })不需要开启调试即可访问

✅ 最佳实践建议

场景建议
域名备案必须完成,否则无法添加到微信白名单
证书更新每年需重新申请一次(免费证书)
本地测试可以使用 localhosthttp 协议
多环境支持使用 Spring Profiles 区分 dev/test/prod
接口文档使用 Swagger UI 或 Knife4j 自动生成接口文档

🧠 如需进一步扩展功能:

  • ✅ 微信登录流程集成:可提供完整的 code -> openid 获取逻辑
  • ✅ JWT Token 登录机制:前后端统一鉴权方案
  • ✅ 自动化部署脚本:结合 Jenkins / GitHub Actions 实现 CI/CD
  • ✅ 微信小程序封装请求模块:自动携带 token、拦截错误等

如需以上功能的具体实现,请继续提问,我可以为你定制完整的企业级开发方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱的叹息

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值