天天看點

【最佳實踐】如何搭建反向代理服務通路OSS資源?1.目前存在的問題2.基于ECS搭建反向代理方式通路OSS3.配置操作步驟

1.目前存在的問題

  • 無法通過固定的IP方式通路OSS:阿裡雲OSS通過Restful API方式對外提供服務。最終使用者通過OSS預設域名或者綁定的自定義域名方式通路(例如: https://your_bucketname.oss-cn-hangzhou.aliyuncs.com/your_object ) 。您可以通過域名解析的方式擷取某個Bucket域名對應的臨時IP,但是由于阿裡雲OSS自身安全機制,Bucket域名對應的IP是會随機發生變化的。是以,您無法擷取某個Bucket對應的長期有效IP位址。而某些企業由于安全機制,需要在出口防火牆配置政策,以限制内部員工和業務系統隻能通路指定的公網IP。
  • 網際網路使用者無法直接通路金融雲OSS:由于金融雲網絡架構限制,金融雲内網類型的Bucket隻能在金融雲内部通路。不支援在網際網路上直接通路金融雲内網類型Bucket;

2.基于ECS搭建反向代理方式通路OSS

針對如上問題,我們采用了“基于ECS搭建反向代理方式通路OSS”。

【最佳實踐】如何搭建反向代理服務通路OSS資源?1.目前存在的問題2.基于ECS搭建反向代理方式通路OSS3.配置操作步驟

上圖是基于“ECS搭建反向代理”的邏輯示意圖,其主要實作機制如下:

  • 在Bucket所在的Region建立ECS;
  • 在同Region建立SLB(可選)。為了提高ECS的可用性,可以搭建多台ECS作為叢集對外提供服務(可選);
  • 在ECS上部署Nginx或者Apache作為反向代理服務;

3.配置操作步驟

3.1示範前提

1.    ECS *1;
  a)    所在Reigon: cn-shanghai
  b)    作業系統版本: Ubuntu 16.04(64位);
2.    Bucket *1;
  a)    所在Reigon: cn-hongkong
  b)    Bucket名稱: test-hongkong-2025
3.    此次配置僅做示範說明。是以,沒有配置SLB;
4.    反向代理服務:
  a)    Nginx
           

3.2在ECS上安裝Nginx

3.2.1安裝Nginx

sudo apt-get install nginx           

預設安裝位置:

/usr/sbin/nginx       主程式 
 /etc/nginx            存放配置檔案 
 /usr/share/nginx      存放靜态檔案 
 /var/log/nginx        存放日志           

3.2.2配置Nginx

1.配置Nginx:

sudo vi /etc/nginx/nginx.conf            

2.請在config檔案中的HTTP子產品添加如下内容:

upstream mysvr {
        server 127.0.0.1;       #default_server1;
        server 101.132.39.231;  #default_server2;
        server 172.19.158.170;  #default_server3;

    }

server {
        listen 80;
        server_name 101.132.39.231; #對外提供反向代理服務的IP;

        location / {
            index http://test-beijing-2019.oss-cn-beijing.aliyuncs.com/index.html; #可選;
            proxy_pass http://test-hongkong-2025.oss-cn-hongkong.aliyuncs.com; #如果主機與Bucket不在同一個區域,需使用外網;
        }
}           

3.2.3重新開機Nginx服務

1.啟動Nginx服務:

sudo nginx –t
           

2.重新開機nginx服務:

nginx -s reload
           

3.4測試

如下,我們測試通路test-hongkong-2025這個Bucket下某個檔案:

root@iZuf698rtvi9j9uskgv84tZ:/etc/nginx# curl  http://101.132.39.231/011.txt


002

003

004

005

006


007

008

009

           

如上所示,基于ECS搭建反向代理服務的方式,能夠對外提供固定IP的通路方式。

繼續閱讀