【最佳实践】如何搭建反向代理服务访问OSS资源?

本文涉及的产品
对象存储 OSS,20GB 3个月
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
日志服务 SLS,月写入数据量 50GB 1个月
简介: 1.当前存在的问题 无法通过固定的IP方式访问OSS:阿里云OSS通过Restful API方式对外提供服务。最终用户通过OSS默认域名或者绑定的自定义域名方式访问(例如:https://your_bucketname.oss-cn-hangzhou.aliyuncs.com/your_object ) 。
+关注继续查看

1.当前存在的问题

  • 无法通过固定的IP方式访问OSS:阿里云OSS通过Restful API方式对外提供服务。最终用户通过OSS默认域名或者绑定的自定义域名方式访问(例如:https://your_bucketname.oss-cn-hangzhou.aliyuncs.com/your_object ) 。您可以通过域名解析的方式获取某个Bucket域名对应的临时IP,但是由于阿里云OSS自身安全机制,Bucket域名对应的IP是会随机发生变化的。因此,您无法获取某个Bucket对应的长期有效IP地址。而某些企业由于安全机制,需要在出口防火墙配置策略,以限制内部员工和业务系统只能访问指定的公网IP。
  • 互联网用户无法直接访问金融云OSS:由于金融云网络架构限制,金融云内网类型的Bucket只能在金融云内部访问。不支持在互联网上直接访问金融云内网类型Bucket;

2.基于ECS搭建反向代理方式访问OSS

针对如上问题,我们采用了“基于ECS搭建反向代理方式访问OSS”。
image

上图是基于“ECS搭建反向代理”的逻辑示意图,其主要实现机制如下:

  • 在Bucket所在的Region创建ECS;
  • 在同Region创建SLB(可选)。为了提高ECS的可用性,可以搭建多台ECS作为集群对外提供服务(可选);
  • 在ECS上部署Nginx或者Apache作为反向代理服务;

3.配置操作步骤

3.1演示前提

1.    ECS *1;
  a)    所在Reigon: cn-shanghai
  b)    操作系统版本: Ubuntu 16.04(64位);
2.    Bucket *1;
  a)    所在Reigon: cn-hongkong
  b)    Bucket名称: test-hongkong-2025
3.    此次配置仅做演示说明。因此,没有配置SLB;
4.    反向代理服务:
  a)    Nginx

3.2在ECS上安装Nginx

3.2.1安装Nginx

 sudo apt-get install nginx

默认安装位置:

 /usr/sbin/nginx       主程序 
 /etc/nginx            存放配置文件 
 /usr/share/nginx      存放静态文件 
 /var/log/nginx        存放日志

3.2.2配置Nginx

1.配置Nginx:

sudo vi /etc/nginx/nginx.conf 

2.请在config文件中的HTTP模块添加如下内容:

upstream mysvr {
        server 127.0.0.1;       #default_server1;
        server 101.132.39.231;  #default_server2;
        server 172.19.158.170;  #default_server3;

    }

server {
        listen 80;
        server_name 101.132.39.231; #对外提供反向代理服务的IP;

        location / {
            index http://test-beijing-2019.oss-cn-beijing.aliyuncs.com/index.html; #可选;
            proxy_pass http://test-hongkong-2025.oss-cn-hongkong.aliyuncs.com; #如果主机与Bucket不在同一个区域,需使用外网;
        }
}

3.2.3重启Nginx服务

1.启动Nginx服务:

sudo nginx –t

2.重启nginx服务:

nginx -s reload

3.4测试

如下,我们测试访问test-hongkong-2025这个Bucket下某个文件:

root@iZuf698rtvi9j9uskgv84tZ:/etc/nginx# curl  http://101.132.39.231/011.txt


002

003

004

005

006


007

008

009

如上所示,基于ECS搭建反向代理服务的方式,能够对外提供固定IP的访问方式。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
存储 数据采集 运维
Alibaba Cloud Lens for OSS最佳实践
——其冀 阿里云智能产品专家
Alibaba Cloud Lens for OSS最佳实践
|
运维 安全 前端开发
oss资源访问连接问题
ssl证书 域名绑定 自有域名
610 0
oss资源访问连接问题
|
SQL 分布式计算 关系型数据库
Hive 数仓迁移 JindoFS/OSS 数据湖最佳实践
Hive 数仓是大多数迁移客户都会遇到的场景。在迁移过程中,不建议同时在新集群进行业务升级(比如从 Hive on MR 迁移到 Hive on Tez 或 Spark SQL等),这些业务升级可以在迁移完成后进行。1. 元数据同步Hive 元数据是对于 Hive 表来说非常关键,除了表结构信息,里面还记录着 Hive 表与底层文件系统的关联关系,许多上层服务都依赖 Hive 元数据提供服务。a.
485 0
OY
|
存储 应用服务中间件 Linux
阿里ESC(轻量云) 通过内网访问OSS资源
阿里对象存储OSS服务
OY
960 0
|
存储 SQL 机器学习/深度学习
OSS加速器最佳实践-总述篇
OSS加速器最佳实践(总述篇)本最佳实践提供OSS加速器相关的信息和适合的场景,面向对oss和数据湖相关技术有一定了解的开发者。     大家可以通过这俩篇先做一些了解相关文档:《配置OSS加速器》https://help.aliyun.com/document_detail/190726.html《OSS加速器介绍》https://developer.aliyun.com/article/780
OSS加速器最佳实践-总述篇
|
对象存储
云速搭部署OSS及资源包最佳实践
本实践通过云速搭设计一个 OSS 的架构,通过 OSS 提供的路径可以下载相应的文件。
云速搭部署OSS及资源包最佳实践
|
存储 分布式计算 MaxCompute
使用MaxCompute LOAD命令批量导入OSS数据最佳实践—STS方式LOAD开启KMS加密OSS数据
MaxCompute使用load overwrite或load into命令将外部存储的数据(如:oss)导入到MaxCompute前的授权操作。
844 0
|
存储 弹性计算 安全
对象存储 OSS 教育行业最佳实践,稳定且高性价比的存储平台
对象存储 OSS 教育行业最佳实践,稳定且高性价比的存储平台
|
存储 SQL 分布式计算
基于湖仓一体架构使用MaxCompute对OSS湖数据分析预测最佳实践
本篇最佳实践先创建EMR集群作为数据湖对象,Hive元数据存储在DLF,外表数据存储在OSS。然后使用阿里云数据仓库MaxCompute以创建外部项目的方式与存储在DLF的元数据库映射打通,实现元数据统一。最后通过一个毒蘑菇的训练和预测demo,演示云数仓MaxCompute如何对于存储在EMR数据湖的数据进行加工处理以达到业务预期。
基于湖仓一体架构使用MaxCompute对OSS湖数据分析预测最佳实践
|
域名解析 存储 缓存
CDN百科11 | 如何用CDN加速OSS源站资源
选择通过阿里云CDN来加速OSS域名,实现静态资源的访问加速。今天的CDN百科,为大家介绍CDN加速OSS的应用场景以及通过CDN控制台实现CDN加速OSS的操作方法。
4670 0
CDN百科11 | 如何用CDN加速OSS源站资源
相关产品
对象存储
推荐文章
更多