+86 135 410 16684Mon. - Fri. 10:00-22:00

如何限制通过固定的IP访问阿里云OSS的文件

如何限制通过固定的IP访问阿里云OSS的文件

最近有客户提出需求,在某些情况,需要使用OSS来存大量文件,但是请求这些文件时候需要访问固定的IP(比如程序之前写死了IP,比如和运营商谈免流量的问题,公司跳板机,固定公司ip访问限制)

通过查看阿里云服务器手册发现oss的服务是由多个IP的,并且随时可能变化,因此如果要实现这个功能,这时候可以通过ECS搭建反向代理来实现需求
nginx配置如下:

server {
listen       80 default_server;
server_name  _;
location / {
proxy_pass http://xxx.oss-cn-qingdao-internal.aliyuncs.com/;
proxy_set_header   Referer             http://www.test.com;
}
}

这里通过ECS代理OSS的内网,从而省掉了OSS的流量费,但是访问效率需要依赖ECS的带宽
Image
为了安全,OSS配置了refer限制,也可以通过proxy_set_header来代理发送一个refer,这个refer可以设置一个随意别人不知道的值,能够变相实现加密(只有ECS服务器知道这个refer值)
 配置完毕之后,就可以通过访问ECS来访问到OSS上的文件了,比如:
aaa
北京 上海 天津 重庆 河北 山东 辽宁 黑龙江 吉林 甘肃 青海 河南 江苏 湖北 湖南 江西 浙江 广东 云南 福建 海南 山西 四川 陕西 贵州 安徽 广西 内蒙古 西藏 新疆 宁夏 澳门 香港 台湾