开发者社区> 问答> 正文

用oss做镜像想把一个网站放到Bucket下面的子目录里怎么实现?

用oss做镜像想把一个网站放到Bucket下面的子目录里怎么实现?


Bucket 绑定的2级域名是 img.oss域名.com,回源地址是www.网站.com,但是我想把回源到Bucket下面的2级目录(因为阿里云的Bucket有数量限制)
所以设置回源条件的时候要加个前缀,这个前缀就是Bucket下面的2级目录名称!但是设置的时候回源地址也会自动加上,这样就没法正确回源!请问各位老师怎么解决呢?


我是lnmp 用的amh ,我觉得Rewrite应该能实现,但是百度了一晚上实在解决不了,小白,没基础

或者阿里云官方取消回源条件加前缀后,回源地址也自动加前缀!



展开
收起
休闲 2017-05-10 09:24:22 6541 0
3 条回答
写回答
取消 提交回答
  • 阿里云对象存储(OSS)开发工程师
    1、回源条件里面的前缀是指满足这个前缀的object才会回源,如果你只想将你自己的网站回源到某个目录下面,其他目录不回源,那么你可以设置回源条件里面的前缀
    2、回源的原理是将你的回源地址与你的object名称拼起来组成回源url,从这个回源url起拉取数据,因为你设置了回源条件里面的前缀,那么回源的url肯定会带有你这个前缀的
    3、你目前这种情况,需要自己再起一个代理,这个代理将你设置的这个前缀过滤掉后,再访问你自己的网站,或者重定向到你的网站上去,这样就可以实现你目前的需求
    以你目前的需求为例,假设你的网站是www.abc.com,你的bucket是mybucket,bucket在杭州,你设置的回源条件前缀是2jmulu/,也就是想将网站回源到这个目录下,假设你的网站有一张图片叫做test.jpg,那么你访问的oss的url就是mybucket.oss-cn-hangzhou.aliyuncs.com/2jmulu/test.jpg,这个时候会回源到www.abc.com/2jmulu/test.jpg,显然找不到正确的文件,这时你需要自己用nginx或者其他webserver搭一个代理,代理的地址假设是一个ip 1.2.3.4,这个代理的作用是解析出2jmulu/test.jpg,并设置重定向到www.abc.com/test.jpg(3xx是重定向,增加一个LLocation头,头的内容就是www.abc.com/test.jpg),这个时候OSS会重新按照重定向的地址去拉取文件,就能取回正确的数据了,这个时候你的回源地址要设置成你的代理地址,也就是1.2.3.4,而不能设置成你的网站地址,OSS回源支持重定向的,会根据重定向的地址找到正确的文件

    -------------------------

    回 2楼(休闲) 的帖子
    有进一步的问题可以加旺旺“秋二”联系

    -------------------------

    回 2楼(休闲) 的帖子
    如果你是想将OSS作为一个备份站的话,镜像回源可能并不是很合适,因为镜像回源需要被动访问一次才会去回源对应的文件,并不会主动去拉取你源站的所有文件;如果想将OSS作为一个备份站,你可以使用OSS官方提供的迁移工具ossimport,可以将你的存量数据和增量数据都主动同步到OSS上,可以参考文档 https://help.aliyun.com/document_detail/32201.html?spm=5176.87240.400427.68.R2EUdB
    2017-05-10 10:33:37
    赞同 展开评论 打赏
  • 回 1楼jesuiszb的帖子
    阿里云官方取消 回源条件加前缀后回源地址也自动加前缀 这个功能就可以了,很简单,这样一个Bucket 可以给无限个网站回源!
    很适合那些既想在本地存文件,又想用oss

    -------------------------

    回 3楼xgp的帖子
    就是你理解的这个意思,不过设置代理太麻烦,我也不会啊!先谢谢你认真回答我的问题.

    Rewrite能实现么?

    Bucket能设置个目录,让回源某个网站,这样不就更简单了么
    2017-05-10 10:30:54
    赞同 展开评论 打赏
  • 看来只能链接文件,目录还不行;

    -------------------------

    rewrite好像不行吧;

    2017-05-10 10:16:29
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载