七牛云Kodo存储对接教程
七牛云对象存储完整配置教程
⚠️ 重要提示:
- 本教程使用 七牛云 CDN 测试域名(格式:
http://xxx.hd-bkt.clouddn.com/)- 此域名既支持上传也支持访问,开箱即用
- CDN 测试域名是临时的,有效期仅 30 天,生产环境请务必在 Kodo 的域名管理中绑定自己的域名
目录
第一部分:七牛云账号注册
1.1 访问七牛云官网
操作步骤:
- 打开浏览器,输入网址:
https://www.qiniu.com - 点击右上角的【免费注册】或【登录/注册】按钮
- 进入注册页面
1.2 注册账号
方式一:手机号注册(推荐)
输入手机号:138****8888
输入邮箱:your_email@example.com(可选)
设置密码:至少8位,包含字母和数字
获取验证码:点击【获取验证码】,输入手机收到的验证码
勾选:同意《七牛云服务协议》
点击:【注册】按钮
方式二:微信/企业微信扫码注册
1. 点击【微信扫码】
2. 使用微信扫描二维码
3. 在微信中确认授权
4. 补充手机号和邮箱信息
5. 完成注册
1.3 注册成功
注册成功后,系统会自动跳转到七牛云控制台首页。
控制台地址: https://portal.qiniu.com
第二部分:实名认证
重要: 未实名认证的账号有功能限制,建议完成实名认证。
2.1 进入实名认证页面
操作路径:
控制台首页 → 右上角头像 → 【账号设置】 → 【实名认证】
或直接访问: https://portal.qiniu.com/setting/certification
2.2 选择认证类型
个人认证(推荐新手)
适合:个人开发者、个人项目
需要提供:
- 真实姓名
- 身份证号码
- 身份证正反面照片
审核时间:通常 1-2 个工作日
企业认证
适合:公司项目、商业应用
需要提供:
- 企业营业执照
- 企业法人信息
- 对公账户信息
审核时间:通常 2-3 个工作日
2.3 提交认证资料
- 选择认证类型
- 填写真实信息
- 上传证件照片(清晰、完整)
- 点击【提交认证】
- 等待审核通过
提示: 可以先跳过实名认证,使用免费额度进行开发测试,正式上线前再完成认证。
第三部分:创建存储空间(Bucket)
3.1 进入对象存储页面
操作路径:
控制台首页 → 左侧菜单 → 【对象存储 Kodo】 → 【空间管理】
或直接访问: https://portal.qiniu.com/kodo/bucket
3.2 创建新空间
点击【新建空间】按钮,进入创建页面
3.3 配置空间参数
空间名称
输入:tigshop-test
说明:
- 空间名称全局唯一,不能与其他用户重复
- 只能包含小写字母、数字、中划线
- 长度 3-63 个字符
- 创建后不可修改
建议命名规则:
- 项目名-环境:如 tigshop-prod(生产环境)
- 项目名-用途:如 tigshop-images(图片)
- 公司名-项目:如 company-project
存储区域
七牛云提供多个区域,选择离用户最近的区域可以获得更快的访问速度:
区域选项:
华东-浙江 ← 推荐(如果用户主要在华东地区)
华北-河北 ← 推荐(如果用户主要在华北地区)
华南-广东 ← 推荐(如果用户主要在华南地区)
华东-浙江2
北美
东南亚-新加坡
选择建议:
- 国内用户:选择最近的国内区域
- 海外用户:选择北美或东南亚
- 不确定:选择【华东-浙江】(性价比高)
示例选择:
存储区域:华东-浙江
访问控制(重要!)
这是最关键的配置,决定了文件能否直接访问:
公开空间(推荐)
适合:商品图片、用户头像、商城素材等公开内容
优点:
- 文件可以直接通过 URL 访问
- 不需要生成签名
- URL 永久有效
- CDN 加速效果好
访问示例:
https://domain.com/path/image.jpg
私有空间
适合:用户隐私数据、付费内容、敏感文件
缺点:
- 需要生成带签名的临时 URL
- URL 有过期时间(如 1 小时)
- 需要额外的代码处理
访问示例:
https://domain.com/path/file.pdf?e=1234567890&token=xxx
对于 Tigshop 商城项目,我们推荐选择:
访问控制:【公开空间】
其他配置(使用默认值即可)
存储类型:标准存储(默认)
生命周期:不设置(默认)
版本控制:关闭(默认)
3.4 完成创建
配置完成后,点击【确定创建】按钮。
创建成功后,你会看到:
空间名称:tigshop-test
存储区域:华东-浙江
访问控制:公开
状态:正常
第四部分:获取密钥(AccessKey 和 SecretKey)
4.1 进入密钥管理页面
操作路径:
控制台首页 → 右上角头像 → 【密钥管理】
或直接访问: https://portal.qiniu.com/user/key
4.2 查看或创建密钥
页面说明:
页面标题:密钥管理
显示内容:
- AK(AccessKey):访问密钥 ID
- SK(SecretKey):访问密钥值
- 状态:启用/禁用
- 创建时间
如果已有密钥:
直接使用现有的 AK 和 SK
SK 只在创建时显示一次,如果忘记了需要重新创建
如果没有密钥或忘记了 SK:
1. 点击【创建密钥】按钮
2. 系统会生成一对新的 AK 和 SK
3. 重要:立即复制并保存 SK,关闭后将无法再次查看!
4.3 复制密钥
示例密钥(仅供参考):
AccessKey (AK):
p5opai***********P2q6kLSN
SecretKey (SK):
vxTW3u***********LotVpg30qyphc
操作建议:
将 AK 和 SK 保存到记事本或密码管理器
不要泄露给任何人
不要提交到 Git 仓库(使用配置表存储)
定期更换密钥(建议 6 个月更换一次)
第五部分:配置访问域名
重要概念: 七牛云的文件访问需要通过域名,有两种域名可选。
域名选择重要提示:
七牛云提供两种类型的默认域名:
- S3 域名(格式:
https://bucket.s3.region.qiniucs.com/)
- 只能用于上传,不能用于访问
- 浏览器访问会返回403错误或需要签名
- 不推荐使用
- CDN 测试域名(格式:
http://xxx.hd-bkt.clouddn.com/)
- 既可以上传也可以访问
- 浏览器可直接访问图片
- 推荐使用(本教程使用此域名)
5.1 域名类型说明
测试域名(免费)
特点:
- 免费提供
- 自动分配
- 无需备案
- 有效期 30 天(到期后可续期)
- 既可用于上传也可用于访问
限制:
- 临时域名,仅用于开发测试
- 不能用于生产环境(会过期)
- 有流量限制
- 到期后可能被回收
- 最多续期 3 次(共 90 天)
格式示例:
http://t6rwjrwr2.hd-bkt.clouddn.com/
(七牛云CDN测试域名格式)
重要提示:
生产环境请务必绑定自己的域名!
自定义域名(生产环境必须使用)
特点:
- 使用自己的域名
- 更专业、更稳定
- 永久有效,不会过期
- 支持 HTTPS
- 适合生产环境
要求:
- 需要有自己的域名
- 域名需要备案(中国大陆)
- 需要配置 CNAME 解析
- 在 Kodo 域名管理中绑定
格式示例:
https://cdn.yourdomain.com
https://img.yourdomain.com
推荐:
测试阶段用 CDN 测试域名快速上手
正式上线前必须绑定自己的域名
5.2 使用测试域名(开发测试阶段)
重要提醒: CDN 测试域名是临时的,仅用于开发测试!生产环境请跳转到 5.3 配置自定义域名
操作步骤:
1. 进入【对象存储 Kodo】→【空间管理】
2. 点击你创建的空间名称【tigshop-test】
3. 点击【域名管理】标签
4. 在【CDN 测试域名】栏,可以看到系统自动分配的测试域名
注意:不要使用"默认域名"栏的 S3 域名,要使用"CDN 测试域名"
测试域名示例:
CDN测试域名:t6rwjrwr2.hd-bkt.clouddn.com
协议:HTTP 和 HTTPS 都支持
有效期:30 天(可续期,最多 3 次)
说明:此域名既可用于图片访问,也可用于上传
临时性:仅用于测试,生产环境必须绑定自己的域名
区别于 S3 域名:
S3域名:tigshop-test.s3.cn-east-1.qiniucs.com(只能上传,不能访问)
CDN域名:t6rwjrwr2.hd-bkt.clouddn.com(既能上传,又能访问)
复制这个域名,格式化为完整 URL:
正确格式(注意最后有斜杠):
http://t6rwjrwr2.hd-bkt.clouddn.com/
错误格式:
t6rwjrwr2.hd-bkt.clouddn.com
http://t6rwjrwr2.hd-bkt.clouddn.com
使用建议:
- 测试阶段:使用 CDN 测试域名快速开发
- 准备上线:提前申请并配置自己的域名
- 正式上线:必须切换到自己的域名,避免测试域名过期导致服务中断
5.3 配置自定义域名(生产环境)
适合场景: 正式上线、商业项目、需要长期使用
步骤 1:准备域名
前置条件:
1. 拥有一个已注册的域名(如:yourdomain.com)
2. 域名已完成 ICP 备案(如果服务器在中国大陆)
3. 有域名的 DNS 解析管理权限
推荐子域名:
cdn.yourdomain.com ← 通用 CDN
img.yourdomain.com ← 专门用于图片
static.yourdomain.com ← 静态资源
files.yourdomain.com ← 文件下载
步骤 2:在七牛云添加自定义域名
操作路径:
1. 进入【对象存储 Kodo】→【空间管理】
2. 点击【tigshop-test】空间
3. 点击【域名管理】标签
4. 点击【绑定域名】按钮
填写域名信息:
加速域名:img.yourdomain.com
通信协议:HTTP 和 HTTPS
HTTPS 配置:
□ 不配置(测试环境)
配置 SSL 证书(生产环境推荐)
源站配置:
- 使用默认设置即可
CDN 加速:
开启(推荐)
点击【创建】按钮
步骤 3:配置 DNS 解析(关键步骤!)
创建成功后,七牛云会提供一个 CNAME 值,需要去你的域名服务商配置 DNS 解析。
获取 CNAME 值:
在域名列表中,找到刚刚添加的域名
CNAME 值示例:
tigshop-test.s3.cn-east-1.qiniucs.com.cdn.dnsv1.com
前往域名服务商配置 DNS:
以阿里云为例:
1. 登录【阿里云控制台】→【云解析 DNS】
2. 找到你的域名,点击【解析设置】
3. 点击【添加记录】
配置内容:
记录类型:CNAME
主机记录:img(子域名前缀)
记录值:tigshop-test.s3.cn-east-1.qiniucs.com.cdn.dnsv1.com
TTL:10 分钟(默认)
4. 点击【确认】保存
其他域名服务商类似:
- 腾讯云 DNSPod
- Cloudflare
- Namecheap
- GoDaddy
步骤 4:验证域名解析
等待 DNS 生效(通常 10 分钟内)
验证方法一:使用 ping 命令
# macOS/Linux 终端
ping img.yourdomain.com
# 或使用 nslookup
nslookup img.yourdomain.com
验证方法二:在七牛云控制台检查
域名状态:
配置中 ← DNS 还未生效,继续等待
成功 ← DNS 已生效,可以使用
失败 ← 配置错误,检查 CNAME 是否正确
步骤 5:配置 HTTPS(推荐)
前往【域名管理】→ 选择你的域名 → 点击【HTTPS 配置】
选项一:使用七牛云免费证书
1. 选择【申请免费证书】
2. 填写证书信息
3. 完成域名验证
4. 等待证书签发(通常几分钟到几小时)
5. 自动配置完成
选项二:上传已有证书
1. 选择【上传自有证书】
2. 证书文件:上传 .crt 或 .pem 文件
3. 私钥文件:上传 .key 文件
4. 点击【确认】
HTTPS 强制跳转(推荐开启):
开启 HTTP 访问自动跳转到 HTTPS
第六部分:在项目中配置
6.1 收集配置信息
现在你已经有了完整的配置信息:
配置清单:
AccessKey:p5opaigDkFzE5-L0D9q0XpnSQB7cdi--P2q6kLSN
SecretKey:vxTW3u1aZurMGIeqZbR6za4ozzULotVpg30qyphc
Bucket:tigshop-test
Region:华东
URL(测试域名):http://t6rwjrwr2.hd-bkt.clouddn.com/
或
URL(自定义域名):https://img.yourdomain.com/
6.2 方式二:通过后台管理界面配置
操作路径:
1. 登录【Tigshop 后台管理系统】
2. 进入【系统设置】→【全局设置】
3. 找到【存储设置】部分
4. 配置以下信息:
配置表单:
存储类型:
○ 0 - 本地存储
○ 1 - 阿里云 OSS
○ 2 - 腾讯云 COS
● 3 - 七牛云 Kodo ← 选择这个

如果看到错误:
<Error>
<Code>NotSupportAnonymous</Code>
<Message>request must have signature info</Message>
</Error>
说明: 空间是私有的,需要回到【第三部分】将空间改为公开。
7.5 检查七牛云控制台
查看上传的文件:
1. 进入【对象存储 Kodo】→【空间管理】
2. 点击【tigshop-test】
3. 点击【文件管理】标签
4. 应该能看到刚刚上传的文件
文件列表示例:
img/
gallery/
202512/
17649189315ZG3hsQvv6ZWpGZ2nc.jpeg (125 KB)
17649189316ABC123xyz.jpeg (230 KB)
附录:常见问题
Q1: S3 域名和 CDN 测试域名有什么区别?应该用哪个?
这是最常见的问题!
S3 域名(不推荐):
格式:https://bucket.s3.cn-east-1.qiniucs.com/
特点:
- 只能用于API上传操作
- 不能在浏览器中直接访问
- 访问时会返回 403 错误或要求签名
- 不适合作为图片展示 URL
示例:
https://tigshop-test.s3.cn-east-1.qiniucs.com/image.jpg
浏览器访问 → 403 Forbidden 或 签名错误
CDN 测试域名(推荐):
格式:http://xxx.hd-bkt.clouddn.com/
特点:
- 既可用于上传,也可用于访问
- 浏览器可直接访问图片
- 支持 CDN 加速
- 适合作为图片展示 URL
示例:
http://t6rwjrwr2.hd-bkt.clouddn.com/image.jpg
浏览器访问 → 图片正常显示
如何获取 CDN 测试域名:
1. 进入【对象存储 Kodo】→【空间管理】
2. 点击你的空间名称
3. 点击【域名管理】标签
4. 查看【CDN 测试域名】(不是"默认域名")
5. 复制该域名,格式化为 http://xxx.hd-bkt.clouddn.com/
总结:
- 使用 CDN 测试域名(
http://xxx.hd-bkt.clouddn.com/) - 不要使用 S3 域名(
https://xxx.s3.cn-east-1.qiniucs.com/) - CDN 测试域名是临时的,生产环境务必在 Kodo 域名管理中绑定自己的域名
Q2: 测试域名到期了怎么办?
A: 测试域名有效期为 30 天,到期前七牛云会发送提醒邮件。
续期方法:
1. 进入【空间管理】→【tigshop-test】→【域名管理】
2. 找到测试域名,点击【续期】按钮
3. 可以续期 30 天
重要提示:
- 测试域名最多续期 3 次(总共 90 天)
- 到期后域名会被回收,文件将无法访问,已上传的图片 URL 全部失效
- 如果网站已上线,测试域名过期会导致所有图片无法显示
- 生产环境必须使用自定义域名,避免因测试域名过期导致服务中断
如何绑定自己的域名:
参考本文档【第五部分 → 5.3 配置自定义域名(生产环境)】章节
Q3: 空间访问控制公开和私有有什么区别?
公开空间:
任何人都可以直接访问文件
URL 简单,无需签名
适合:商品图片、用户头像、公开内容
URL 示例:
https://domain.com/path/file.jpg
私有空间:
需要签名才能访问
URL 包含时间戳和签名参数
适合:用户隐私数据、付费内容、敏感文件
URL 示例:
https://domain.com/path/file.pdf?e=1234567890&token=abcdefg...
如何修改访问控制:
1. 进入【空间管理】→【tigshop-test】
2. 点击【空间设置】
3. 找到【访问控制】
4. 选择【公开】或【私有】
5. 点击【确定】
Q4: 如何查看存储空间使用情况?
1. 进入【对象存储 Kodo】→【空间管理】
2. 点击【tigshop-test】
3. 查看【概览】标签
显示信息:
存储量:12.5 GB
文件数:3,245 个
本月流量:156 GB
费用统计:¥15.60
Q5: 免费额度有多少?
七牛云免费额度(实名认证后):
标准存储:10 GB
上传流量:无限制(免费)
下载流量:10 GB/月
请求次数:100 万次/月
图片处理:无限制(免费)
超出免费额度的收费标准:
存储费用:¥0.13/GB/月
下载流量:¥0.29/GB(中国大陆)
CDN 流量:¥0.18/GB(中国大陆)
提示: 对于小型项目或测试环境,免费额度完全够用!
Q6: 上传失败常见原因?
错误 1:NoSuchBucket
<Error>
<Code>NoSuchBucket</Code>
<Message>The specified bucket does not exist.</Message>
</Error>
原因: Bucket 名称配置错误
解决: 检查数据库中 storageQiniuBucket 的值是否与七牛云创建的空间名称完全一致
错误 2:InvalidAccessKeyId
<Error>
<Code>InvalidAccessKeyId</Code>
<Message>The access key you provided is invalid.</Message>
</Error>
原因: AccessKey 配置错误
解决:
- 重新复制七牛云控制台的 AccessKey
- 更新数据库配置
- 确保没有多余的空格或特殊字符
错误 3:SignatureDoesNotMatch
<Error>
<Code>SignatureDoesNotMatch</Code>
<Message>The request signature we calculated does not match.</Message>
</Error>
原因: SecretKey 配置错误
解决:
- 确认 SecretKey 是否正确
- 如果忘记了,需要在七牛云重新创建密钥对
- 更新数据库配置
错误 4:NotSupportAnonymous
<Error>
<Code>NotSupportAnonymous</Code>
<Message>request must have signature info</Message>
</Error>
原因: 空间是私有的,但返回的 URL 没有签名
解决: 将空间访问控制改为【公开】
操作:
七牛云控制台 → 空间管理 → tigshop-test → 空间设置 → 访问控制 → 【公开】
Q7: 如何删除不需要的文件?
方式一:通过七牛云控制台
1. 进入【空间管理】→【tigshop-test】→【文件管理】
2. 找到要删除的文件
3. 勾选文件
4. 点击【批量操作】→【删除】
5. 确认删除
方式二:通过代码调用
@Resource
private QiniuService qiniuService;
// 删除文件
String objectName = "img/gallery/202512/xxx.jpeg";
boolean success = qiniuService.deleteFile(objectName);
Q8: 图片处理参数怎么用?
七牛云提供强大的实时图片处理功能,无需提前处理,直接在 URL 后加参数:
缩放图片
原图:
https://domain.com/image.jpg
等比缩放到宽度 200px:
https://domain.com/image.jpg?imageView2/2/w/200
等比缩放到高度 300px:
https://domain.com/image.jpg?imageView2/2/h/300
限定长边为 800px:
https://domain.com/image.jpg?imageView2/2/w/800/h/800
图片格式转换
转换为 WebP 格式(更小的文件):
https://domain.com/image.jpg?imageView2/2/w/400/format/webp
转换为 PNG:
https://domain.com/image.jpg?imageView2/2/w/400/format/png
图片质量调整
压缩质量为 75%:
https://domain.com/image.jpg?imageView2/2/w/400/q/75
高质量 90%:
https://domain.com/image.jpg?imageView2/2/w/400/q/90
添加水印
添加图片水印:
https://domain.com/image.jpg?watermark/1/image/base64编码的水印图片URL
添加文字水印:
https://domain.com/image.jpg?watermark/2/text/base64编码的文字
更多参数请参考: https://developer.qiniu.com/dora/1279/basic-processing-images-imageview2
Q9: 如何监控存储费用?
1. 进入【财务中心】→【费用中心】
2. 查看【对象存储】费用明细
3. 可以看到:
- 存储费用
- 流量费用
- 请求费用
- 按天/月统计
设置费用预警:
1. 进入【账号设置】→【费用预警】
2. 设置预警金额(如:¥50)
3. 绑定手机号和邮箱
4. 达到预警金额时会收到通知
Q10: 如何提高访问速度?
方法 1:使用 CDN 加速
1. 在【域名管理】中,绑定域名时开启 CDN
2. 选择合适的加速区域:
中国大陆
海外(如果有海外用户)
3. 配置缓存规则
方法 2:选择合适的存储区域
- 用户主要在华东 → 选择华东区域
- 用户主要在华北 → 选择华北区域
- 用户主要在华南 → 选择华南区域
- 用户分布全国 → 选择华东 + CDN 加速
方法 3:使用图片处理优化
自动选择最优格式(WebP/AVIF):
https://domain.com/image.jpg?imageView2/2/w/400/format/webp
自动压缩:
https://domain.com/image.jpg?imageView2/2/w/400/q/85
配置检查清单
在正式上线前,请确认以下配置:
七牛云账号
□ 账号已注册
□ 实名认证已通过(生产环境必须)
□ 账户余额充足
存储空间配置
□ 空间已创建(tigshop-test)
□ 存储区域选择正确
□ 访问控制设置正确(公开/私有)
密钥配置
□ AccessKey 已复制保存
□ SecretKey 已复制保存
□ 密钥未泄露
域名配置
□ 测试域名已获取(开发测试)
□ 自定义域名已配置(生产环境必须)
□ DNS 解析已生效
□ HTTPS 证书已配置(可选)
□ 已将配置从测试域名切换到自定义域名
□ 确认测试域名不会在生产环境使用
相关资源
官方文档
七牛云官方文档
https://developer.qiniu.com
对象存储 Kodo 文档
https://developer.qiniu.com/kodo
Java SDK 文档
https://developer.qiniu.com/kodo/sdk/java
图片处理文档
https://developer.qiniu.com/dora/1279/basic-processing-images-imageview2
CDN 加速文档
https://developer.qiniu.com/fusion
恭喜你完成配置!
现在你已经成功配置了七牛云对象存储!
你的系统现在可以:
- 自动上传图片到七牛云
- 自动上传视频到七牛云
- 生成不同尺寸的缩略图
- 通过后台管理界面切换存储方式
- 享受七牛云的 CDN 加速
下一步建议:
- 充分测试各项功能
- 监控存储使用情况
- 定期更换密钥(建议 6 个月)
- 生产环境必须配置自定义域名(CDN 测试域名会过期)
- 设置费用预警
- 关注测试域名过期提醒,及时切换到自定义域名
最佳实践建议
安全性
不要将密钥硬编码在代码中
不要将密钥提交到 Git 仓库
定期更换 AccessKey 和 SecretKey
为不同环境使用不同的密钥
限制密钥的访问权限(七牛云支持子账号)
性能优化
开启 CDN 加速
使用 WebP 格式(文件更小)
设置合理的缓存策略
使用缩略图代替原图
启用 HTTP/2
成本控制
定期清理无用文件
设置生命周期规则(自动删除过期文件)
监控流量使用情况
对大文件使用归档存储
合理使用图片处理功能
备份策略
定期备份重要文件到本地
使用七牛云的跨区域复制功能
关键文件同时上传到多个云服务商
定期检查文件完整性
域名管理(重要!)
测试域名管理:
仅用于开发测试环境
关注域名过期提醒邮件
及时续期或切换到自定义域名
禁止在生产环境使用测试域名
自定义域名管理:
生产环境必须绑定自己的域名
在 Kodo 的域名管理中完成绑定
配置 HTTPS 证书提高安全性
定期检查域名和证书的有效期
提前准备域名备案(中国大陆)
域名切换建议:
1. 开发阶段:使用 CDN 测试域名快速开发
2. 测试阶段:继续使用测试域名,但准备自定义域名
3. 上线前 7 天:完成自定义域名绑定和测试
4. 正式上线:切换到自定义域名配置
5. 上线后:监控域名状态和访问情况
需要帮助?
如果在配置过程中遇到任何问题,可以:
- 查看本文档的【常见问题】部分
- 访问七牛云官方文档
- 提交工单获取官方技术支持
祝你使用愉快!
如有问题,随时参考本文档或联系技术支持。
温馨提示
本教程由 Tigshop 团队整理,仅供学习参考使用
官网:https://www.tigshop.com
赣公网安备36010902001041号