![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicGcq5CM3IzNmFTMlJmZmRDNklDOyQTN0ImMlRTNzEmMmRDZ18CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.jpg)
鏡像下載下傳、域名解析、時間同步請點選
阿裡巴巴開源鏡像站一、背景資訊
阿裡雲OSS通過Restful API方式對外提供服務。最終使用者通過OSS預設域名或者綁定的自定義域名方式通路,但是在某些場景下,使用者需要通過固定的IP位址通路OSS:
- 某些企業由于安全機制,需要在出口防火牆配置政策,以限制内部員工和業務系統隻能通路指定的公網IP,但是OSS的Bucket通路IP會随機變換,導緻需要經常修改防火牆政策。
- 金融雲環境下,因金融雲網絡架構限制,金融雲内網類型的Bucket隻能在金融雲内部通路,不支援在網際網路上直接通路金融雲内網類型Bucket。
以上問題可以通過在ECS執行個體上搭建反向代理的方式通路OSS。
二、配置步驟
1、建立一個和對應Bucket相同地域的CentOS系統的ECS執行個體。本文示範系統為CentOS 7.6 64位系統。
建立過程請參見
建立ECS執行個體。
2、使用root使用者登入ECS執行個體并安裝Nginx。
root@test:~# yum install -y nginx
說明 Nginx預設安裝位置:
/usr/sbin/nginx 主程式
/etc/nginx 存放配置檔案
/usr/share/nginx 存放靜态檔案
/var/log/nginx 存放日志
3、打開Nginx配置檔案。
root@test:~# vi /etc/nginx/nginx.conf
4、在config檔案中的http子產品中,修改配置如下。
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name 47.**.**.43;
root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass https://bucketname.oss-cn-beijing-internal.aliyuncs.com;
proxy_set_header Host $host;
}
- server_name:對外提供反向代理服務的IP,即ECS執行個體的外網位址。
- proxy_pass:填寫跳轉的域名。
- 當ECS執行個體與Bucket在同一地域時,填寫目标Bucket的内網通路域名。通路域名介紹請參見 OSS通路域名使用規則
- 當ECS執行個體與Bucket不在同一地域時,填寫目标Bucket的外網通路域名。
- 因OSS的安全設定,當使用預設域名通過浏覽器通路OSS中的圖檔或網頁檔案時,會直接下載下傳。是以,若您的使用者需通過浏覽器預覽Bucket中的圖檔或網頁檔案,需為Bucket綁定自定義域名,并在此項中添加已綁定的域名。綁定自定義域名操作請參見 綁定自定義域名
- proxy_set_header Host $host:添加此項時,Nginx會在向OSS請求的時候,将host替換為ECS的通路位址。遇到以下情況時,您需要添加此項。
說明 本文為示範環境,實際環境中,為了您的資料安全,建議配置https子產品,配置方法請參見
反向代理配置5、進入Nginx主程式檔案夾,啟動Nginx。
root@test:~# cd /usr/sbin/
root@test:~# ./nginx
6、測試使用ECS外網位址加檔案通路路徑通路OSS資源。
“ 提供全面,高效和穩定的鏡像下載下傳服務。釘釘搜尋 ' 21746399 ‘ 加入鏡像站官方使用者交流群。”