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

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
阿里云盘企业版 CDE,企业版用户数5人 500GB空间
简介: 1.当前存在的问题 无法通过固定的IP方式访问OSS:阿里云OSS通过Restful API方式对外提供服务。最终用户通过OSS默认域名或者绑定的自定义域名方式访问(例如:https://your_bucketname.oss-cn-hangzhou.aliyuncs.com/your_object ) 。

1.当前存在的问题

  • 无法通过固定的IP方式访问OSS:阿里云OSS通过Restful API方式对外提供服务。最终用户通过OSS默认域名或者绑定的自定义域名方式访问 。您可以通过域名解析的方式获取某个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.0464位);
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,搭建一个在线教育视频课程分享网站。
相关文章
|
8天前
|
存储 应用服务中间件 开发工具
对象存储OSS-Python设置代理访问请求
通过 Python SDK 配置 nginx 代理地址请求阿里云 OSS 存储桶服务。示例代码展示了如何使用 RAM 账号进行身份验证,并通过代理下载指定对象到本地文件。
47 15
|
2月前
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
2月前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
5476 16
|
7月前
|
Oracle 关系型数据库 数据处理
实时计算 Flink版产品使用合集之写入OSS是否要开通oss-hdfs服务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
141 4
|
3月前
|
Java API 对象存储
微服务魔法启动!Spring Cloud与Netflix OSS联手,零基础也能创造服务奇迹!
这段内容介绍了如何使用Spring Cloud和Netflix OSS构建微服务架构。首先,基于Spring Boot创建项目并添加Spring Cloud依赖项。接着配置Eureka服务器实现服务发现,然后创建REST控制器作为API入口。为提高服务稳定性,利用Hystrix实现断路器模式。最后,在启动类中启用Eureka客户端功能。此外,还可集成其他Netflix OSS组件以增强系统功能。通过这些步骤,开发者可以更高效地构建稳定且可扩展的微服务系统。
67 1
|
4月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
5月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之多个业务流程上传同名资源到同一个OSS(对象存储服务)URL,会产生什么问题
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
分布式计算 DataWorks 数据处理
MaxCompute操作报错合集之UDF访问OSS,配置白名单后出现报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5月前
|
域名解析 Serverless API
函数计算产品使用问题之如何配置自定义域名访问OSS中的内容
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

相关产品

  • 对象存储