某些情况,需要使用OSS来存大量文件,但是请求这些文件时候需要访问固定的IP(比如程序之前写死了IP,比如和运营商谈免流量的问题)
而oss的服务是由多个IP的,并且随时可能变化,这时候可以通过ECS搭建反向代理来实现需求
nginx配置如下:
1 |
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;
}
}
1 |
这里通过ECS代理OSS的内网,从而省掉了OSS的流量费,但是访问效率需要依赖ECS的带宽
为了安全,OSS配置了refer限制,也可以通过proxy_set_header来代理发送一个refer,这个refer可以设置一个随意别人不知道的值,能够变相实现加密(只有ECS服务器知道这个refer值)
配置完毕之后,就可以通过访问ECS来访问到OSS上的文件了,比如: