【OSS】基于Windows的ECS实例实现OSS反向代理

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 阿里云OSS的存储空间(Bucket)访问地址会随机变换,您可以通过在ECS实例上配置OSS的反向代理,实现通过固定IP地址访问OSS的存储空间。

背景信息


阿里云OSS为用户提供OSS默认域名或者绑定的自定义域名方式访问,但是在某些场景下,用户需要通过固定的IP地址访问OSS:

  • 某些企业由于安全机制,需要在出口防火墙配置策略,以限制内部员工和业务系统只能访问指定的公网IP,但是OSS的Bucket访问IP会随机变换,导致需要经常修改防火墙策略。
  • 金融云环境下,因金融云网络架构限制,金融云的Bucket只能在金融云内部访问。


以上问题可以通过在ECS实例上搭建反向代理的方式访问OSS。

反向代理访问OSS.png


配置步骤


  1. 创建一个和指定Bucket相同地域的Windows Server系统的ECS实例并登录。本文演示系统为Windows Server 2019数据中心版64位中文版系统,创建和登录过程请参见Windows系统实例快速入门
  2. 下载Nginx并解压。本文以Nginx-1.19.2版本为例,下载地址请参见Nginx
  3. 修改配置文件。
  1. 进入conf文件夹,使用记事本打开nginx.conf文件。
  2. 修改配置文件内容。
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  47.**.**.43;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
       location / {
            proxy_pass  http://bucketname.oss-cn-hangzhou-internal.aliyuncs.com;
            #proxy_set_header Host $host;
        }
   }
}
  • server_name:对外提供反向代理服务的IP,即ECS实例的外网地址。
  • proxy_pass:填写跳转的域名。
  • 当ECS实例与Bucket在同一地域时,填写目标Bucket的内网访问域名。访问域名介绍请参见OSS访问域名使用规则
  • 当ECS实例与Bucket不在同一地域时,填写目标Bucket的外网访问域名。
  • 因OSS的安全设置,当使用默认域名通过浏览器访问OSS中的图片或网页文件时,会直接下载。所以,若您的用户需通过浏览器预览Bucket中的图片或网页文件,需为Bucket绑定自定义域名,并在此项中添加已绑定的域名。绑定自定义域名操作请参见绑定自定义域名
  • proxy_set_header Host $host:添加此项时,Nginx会在向OSS请求的时候,将host替换为ECS的访问地址。遇到以下情况时,您需要添加此项。
  • 遇到签名错误问题。
  • 如果您的域名已解析到ECS实例的外网上,且您的用户需要通过浏览器预览Bucket中的图片或网页文件。您可以将您的域名绑定到ECS实例代理的Bucket上,不配置CNAME。这种情况下,proxy_pass项可直接配置Bucket的内网或外网访问地址。绑定自定义域名操作请参见绑定自定义域名

注意

  • 本文为演示环境,实际环境中,为了您的数据安全,建议配置HTTPS模块。
  • 上述配置方式只能代理访问一个Bucket。


  1. 返回Nginx主程序文件夹,双击nginx.exe启动Nginx。
  2. 开放ECS实例的TCP 80端口。Nginx默认使用TCP 80端口,所以需在ECS的安全组配置中,允许用户访问TCP 80端口。配置方式请参见添加安全组规则
  3. 使用ECS外网地址加文件访问路径访问OSS资源。panda.png
相关文章
|
9月前
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
9月前
|
Windows
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
Windows下版本控制器(SVN)-验证是否安装成功+配置版本库+启动服务器端程序
247 2
|
10月前
|
Windows
Windows下版本控制器(SVN)-启动服务器端程序
Windows下版本控制器(SVN)-启动服务器端程序
382 4
|
9月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
2889 0
|
11月前
|
存储 安全 Ubuntu
从Linux到Windows:阿里云服务器系统镜像适配场景与选择参考
阿里云为用户提供了丰富多样的服务器操作系统选择,以满足不同场景下的应用需求。目前,云服务器的操作系统镜像主要分为公共镜像、自定义镜像、共享镜像、镜像市场和社区镜像五大类。以下是对这些镜像类型的详细介绍及选择云服务器系统时需要考虑的因素,以供参考。
|
12月前
|
运维 监控 安全
宝塔Windows面板:轻松管理服务器的图形化神器
宝塔Windows面板是一款专为Windows服务器用户设计的图形化管理工具,旨在简化IIS配置、环境搭建与安全管理等复杂操作。它支持一键部署全栈运行环境(如IIS/Apache、PHP、MySQL等),提供可视化站点管理、安全防护与监控功能,并拥有丰富的插件生态。无论是个人站长、开发者还是中小企业,都能通过这款免费工具快速搭建网站、优化性能并强化安全性。尽管在高版本IIS兼容性和插件丰富度上略逊于Linux版,但其零门槛操作和全面功能仍使其成为理想的入门级服务器管理解决方案。
991 5
|
12月前
|
存储 监控 数据中心
Microsoft System Center 2025 version 2503 Multilanguage - Windows 服务器管理软件
Microsoft System Center 2025 version 2503 Multilanguage - Windows 服务器管理软件
361 0
|
安全 数据库 Windows
解决Windows云服务器带宽和CPU利用率高的问题
本文针对Windows Server 2019 ×64系统,介绍如何排查云服务器带宽和CPU利用率过高的问题。通过任务管理器、性能监视器等工具定位高资源占用的进程,并根据进程是否正常采取相应措施。对于正常进程,建议优化或升级配置;对于异常进程,建议关闭进程并进行系统备份或还原。详细步骤包括使用“perfmon -res”查看资源使用情况,结合PID查找具体进程,分析处理后台任务、杀毒软件及应用程序的影响。
812 1
|
Linux 虚拟化 Docker
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
2085 1
|
Windows
Windows系统云服务器配置多用户登录
本教程介绍了在Windows云服务器上配置远程桌面服务的详细步骤,包括安装桌面会话主机和远程桌面授权、允许多用户远程连接以及配置新用户并加入远程桌面用户组。通过添加角色和功能、设置组策略以及管理用户权限,实现多用户同时登录和远程访问。按照指引操作,可顺利完成服务器的远程访问配置,提升管理和使用效率。
1544 0