一、背景
- 背景:App管理后台因现在Apk文件是存储在服务器上,为了更加安全的管理和维护需进行技术改造
- 技术应用场景:实现文件更加安全管理和维护
- 整体思路:上传改成OSS,下载使用自有域名下载
二、大致步骤
- 改造上传方式使用oss上传
- 获取上传路径地址替换成绑定的资源域名地址
- OSS管理后台绑定资源域名地址
- 资源域名地址使用免费SSL证书并部署OSS
- 测试连调https资源域名和OSS是否打通
- 修改代码逻辑实现OSS下载
三、具体实施
3.1 OSS上传逻辑
String dir = ossConfig.getTiaoyuePdfDir();
if (StringUtils.isEmpty(dir)){
throw new BizException(ErrorEnum.ERROR_UPLOAD_TYPE.code(), ErrorEnum.ERROR_UPLOAD_TYPE.message());
}
UploadResDTO uploadResDTO = ossUtil.upload(file, dir);
log.info("uploadSuccessPath is:{} ", uploadResDTO.getUrl());
return uploadResDTO;
3.2 测试使用OSS返回路径
报错如图,需要绑定自有域名
一、背景
- 背景:App管理后台因现在Apk文件是存储在服务器上,为了更加安全的管理和维护需进行技术改造
- 技术应用场景:实现文件更加安全管理和维护
- 整体思路:上传改成OSS,下载使用自有域名下载
二、大致步骤
- 改造上传方式使用oss上传
- 获取上传路径地址替换成绑定的资源域名地址
- OSS管理后台绑定资源域名地址
- 资源域名地址使用免费SSL证书并部署OSS
- 测试连调https资源域名和OSS是否打通
- 修改代码逻辑实现OSS下载
三、具体实施
3.1 OSS上传逻辑
String dir = ossConfig.getTiaoyuePdfDir();
if (StringUtils.isEmpty(dir)){
throw new BizException(ErrorEnum.ERROR_UPLOAD_TYPE.code(), ErrorEnum.ERROR_UPLOAD_TYPE.message());
}
UploadResDTO uploadResDTO = ossUtil.upload(file, dir);
log.info("uploadSuccessPath is:{} ", uploadResDTO.getUrl());
return uploadResDTO;
3.2 测试使用OSS返回路径
报错如图,需要绑定自有域名
3.3 Bucket绑定指定域名(图为测试域名)
3.4 连调使用资源域名作为下载前缀
报不是安全连接,将资源使用SSL安全证书,以https开头
3.5 资源域名使用https
为资源域名申请SSL证书并部署至OSS中。(原来免费期一年现缩短至3个月,需3个月换一次)
3.6 再次尝试使用https开头,资源网址作为域名访问APK文件
成功下载!(注意:增加SSL证书会有缓存期,时间大致一个小时左右,为此还咨询了客服)
3.7 代码改造
上传时返回的路径在展示给前端需要进行域名替换及其他修改。
三、总结
技术改造需要提前做好充分的调研和测试,只有情况都通过了便可以进入下一步开发阶段。