OSS适用于存储各类型的静态资源,但是站点中要如何应用OSS的资源?如何将静态资源迁移到OSS上?为何站点应用了OSS,站点不能正常打开了?本文将解答上述问题。
用户可以将站点中的静态资源(如图片、文档、音视频等)存储到OSS上,使用自定义域名绑定OSS Bucket,在站点页面中使用自定义域名调用OSS资源。绑定域名请参考管理域名。
例如:用户的站点为www.example.com,站点下有多个静态资源。可以将1.jpg等静态资源存储到Bucket上,为Bucket绑定二级域名oss.example.com。站点www.a.com调用静态资源就可以将www.example.com/1.jpg更换为 oss.example.com/1.jpg,调用OSS上的资源。
调用SDK,遍历所有要迁移的静态资源,一个个调用putobject接口上传到OSS,请参考Java SDK,需要用户有编程基础。
利用OssImport小工具迁移,请参考OssImport 单机部署。需要配置Java环境,OssImport工具本身配置简单。
云市场上寻找第三方客户端工具,进行数据迁移。
如果Bucket为公共读:
URL格式:bucketname.oss-cn-hangzhou.aliyuncs.com/objectname。
通过OSS控制台获取Object的URL链接,具体方法请参考获取文件URL访问地址。
通过SDK获取URL:
如果Bucket为私有:
站点集成OSS WEB直传的demo,站点端直传资源到OSS,请参考服务端签名后直传。
站点集成OSS JS SDK,WEB端直传资源到OSS,请参考Java Script SDK。
使用OSS FTP工具应用Bucket资源,请参考如何快速安装使用OSS FTP工具。先调用一台服务器部署OSS FTP server,FileZilla客户端去连接FTP server。测试连接成功后,站点配置FTP,之后连接OSS FTP server,最后连接OSS。
排查是否将站点域名绑定了Bucket,方法:控制台—OSS—选择具体Bucket—域名管理中查看,如下图所示。
原因:
对外应用业务的域名,原本是做了A记录或者cname记录的,绑定Bucket后,对应的域名cname到Bucket的外网地址上,对应的域名就与原本的业务无关了,导致原本的站点无法访问。
解决方法:
解除站点域名的绑定,换一个子域名绑定Bucket(该子域名未对外发布站点业务),如oss.example.com或者其他子域名在域名服务商那边将站点域名A记录/cname记录回源站,将oss.example.com cname到Bucket的外网地址上。