阿里云oss图片存储服务通过nginx转发至外网

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/lwwl12/article/details/83302367

公司采用了阿里云的oss来存储大量图片,oss存储很方便,存储的图片可直接通过url地址访问,但是也有个问题,外网访问oss文件需要通过流量计费,而内网访问不计流量费用。原本我们就有阿里云服务器,既然如此是否可通过在阿里云服务器上的nginx进行转发,这样就可达到即可访问oss又不需要单独计费的外网流量。说干就干。

配置

部署nginx的过程不详述,只写一下如何配置nginx转发:
将server修改为如下,添加upstream mysvr配置节点,proxy_set_header Host一定不能少,否则访问不了。

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        # your domain name , such as :
        # server_name  pic.baidu.com; 
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
            
            add_header backendIP $upstream_addr;
            add_header backendCode $upstream_status;
            proxy_pass http://mysvr;
            proxy_set_header Host yourOssName.oss-cn-shenzhen-internal.aliyuncs.com;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

    upstream mysvr {
        server oss-cn-shenzhen-internal.aliyuncs.com;
    }

oss设置-修改文件访问权限

在默认访问权限情况下文件生成的url会有过期时间,过期就不能访问,可修改文件的访问权限为“公共读”,或者直接修改Bucket权限为“公共读”,url将一直有效。

猜你喜欢

转载自blog.csdn.net/lwwl12/article/details/83302367