当前位置: > Linux服务器 > 环境配置 >

ECS上搭建反向代理通过内网访问OSS服务

时间:2016-01-03 00:45来源:linux.it.net.cn 作者:IT
在ECS上用Nginx做反向代理,通过内网访问OSS。

原理说明:

1、用户通过ECS公网ip,或者域名,访问ECS上的Nginx。

2、Nginx收到用户的访问请求后,根据Nginx的代理设置,通过OSS的内网地址,访问OSS。正常访问到OSS的资源后,把数据返回给用户。

配置中最重要的环节是Nginx反向代理设置。

本教程以Centos7 Linux系统为例:

1)     在ECS上安装Nginx
yum install nginx

2)     安装好Nginx后,修改配置文件。
vim /etc/nginx/nginx.conf

在server 配置段中,添加反向代理的设置。

location / {
              rewrite  /(.+)$  /$1 break;
              proxy_pass  http://***.oss-cn-beijing-internal.aliyuncs.com;
        }


11.png


配置说明:

rewrite  /(.+)$  /$1 break;   用rewrite进行url重写,使用户访问的url后缀,也传递到OSS上。

proxy_pass  http://***.oss-cn-beijing-internal.aliyuncs.com;  代理请求到这个OSS的内网地址,星号注释的是用户是bucket名。
这个内网地址怎么得到呢?

OSS有提供内网和外网访问地址【点此查看】

从这里找到对应节点的内网地址,然后在内网地址前,加上对应的bucket名即可。

例如:Bucket名称+OSS内网地址
示例中的OSS是北京地域,bucket名称是bj-1,
OSS北京节点的内网地址是oss-cn-beijing-internal.aliyuncs.com,
所以bucket  bj-1对应的内网访问地址是bj-1.oss-cn-beijing-internal.aliyuncs.com


3)配置好Nginx后,重启Nginx
systemctl  restart  nginx.service



4)在浏览器上,通过ECS的公网ip访问。
访问地址和直接访问OSS类似,只是把url中OSS的域名,改成ECS公网ip或者ECS绑定的域名。
例如正常访问OSS的地址是:http://***.oss-cn-beijing.aliyuncs.com/html/nginx.html
通过Nginx代理访问是:http://ECS公网ip/html/nginx.html
测试访问ECS,可以正常访问到OSS上的文件。


12.png






 
(责任编辑:IT)
------分隔线----------------------------