通过Nginx反向代理访问OBS 操作步骤 在ECS上安装Nginx a.登录用于搭建Nginx反向代理服务器的ECS。 b.使用wget命令,下载对应当前操作系统版本的Nginx安装包。此处以CentOS 7.6版本的操作系统为例。 wget c.执行以下命令,建立Nginx的yum仓库。此处以CentOS 7.6版本的操作系统为例。 rpm ivh nginxreleasecentos70.el7.ngx.noarch.rpm d.执行以下命令,安装Nginx。 yum y install nginx e.执行以下命令,启动Nginx并设置开机启动。 systemctl start nginx systemctl enable nginx f.在任意终端使用浏览器访问“ 图Nginx安装成功 修改Nginx配置文件,反向代理OBS桶 a.执行以下命令,打开“default.conf”配置文件。 vim /etc/nginx/conf.d/default.conf b.按“i”键进入编辑模式,修改“default.conf”配置文件。 server { listen 8089; 天翼云针对公网IP默认封闭80端口,需要备案后才能使用,建议使用其他端口如:8089,或者使用内网80端口访问。 servername ...; 此处填写ECS弹性IP地址 location / { proxypass 此处填写OBS桶访问域名,以 index index.html index.htm ; } } 表配置文件参数说明 参数 说明 servername 提供反向代理服务的IP地址,即需要暴露给终端用户访问的固定IP地址。 此处填写搭建Nginx反向代理服务的ECS弹性IP地址,即当前登录的ECS弹性IP地址。 proxypass 被代理服务器的地址。此处填写前提条件 获取的OBS桶的访问域名, 注意需要以 c.按“Esc”,输入“:wq”保存并退出。 d.执行以下命令,测试Nginx配置文件状态。 nginx t e.执行以下命令,重启Nginx服务使配置生效。 systemctl stop nginx systemctl start nginx 配置OBS桶策略,允许Nginx代理服务器的IP地址访问OBS(可选) 如果您的OBS桶为公共读,或者访问私有桶内对象时在URL中携带签名,则可跳过此步骤。 如果您的OBS桶为私有桶,且不希望使用携带签名的URL访问桶内资源,则建议配置以下桶策略或者桶ACLs策略:仅允许Nginx代理服务器的IP地址访问OBS桶。 桶对象ACLs策略如下: 赋予匿名用户读取权限 桶策略如下: a.在OBS管理控制台左侧导航栏选择“对象存储”。 b.在桶列表单击待操作的桶,进入“概览”页面。 c.在左侧导航栏,单击“访问权限控制 > 桶策略”。 d.单击“创建桶策略”。 e.在桶策略模式,选择“自定义模式”。 f.配置如下参数。 表桶策略参数配置 参数 说明 ::: 策略配置方式 可视化视图 策略名称 自定义 策略内容 效果 允许 策略内容 被授权用户 授权用户:匿名用户 用户策略:包含以上用户 策略内容 资源 资源范围:同时选择当前桶和桶内对象 资源策略:包含以上资源 策略内容 动作 选择动作:Get和List 操作策略:包含以上动作 策略内容 条件 条件运算符:IpAddress 键:SourceIp 值: 如果ECS使用公网DNS,取值为:ECS的弹性IP地址 如果ECS使用天翼云内网DNS,取值为:100.64.0.0/10,214.0.0.0/7,ECS的私有IP地址 说明 取值需要同时配置三个IP地址(IP地址段),之间用英文逗号(,)隔开。 其中,100网段和214网段为ECS内网访问OBS的网 g.单击右下角的“配置确认”。 h.单击右下角的“创建”,完成桶策略创建。 验证反向代理配置 在任意终端使用ECS弹性IP地址+对象名访问OBS资源,如果能正常访问,则说明配置成功。 例如访问 图使用固定IP地址访问OBS资源