1. 程式人生 > >阿里雲oss圖片儲存服務通過nginx轉發至外網

阿里雲oss圖片儲存服務通過nginx轉發至外網

公司採用了阿里雲的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將一直有效。