全部產品
Search
文件中心

Server Load Balancer:OSS 靜態網站託管

更新時間:Aug 05, 2026

ALB擴充版支援將請求轉寄至DNS網域名稱類型的後端服務。使用者可以使用OSS儲存靜態資源,由ALB擴充版統一調度請求,通過VPC內網轉寄至OSS,實現前後端分離架構的同時,降低公網流量成本並提升訪問穩定性。

方案架構

擴充版ALB執行個體接收用戶端請求,將請求通過VPC內網轉寄至DNS網域名稱伺服器組中配置的OSS Bucket訪問網域名稱,並將Bucket的響應返回給用戶端。需要處理其他請求時,按需添加後端服務並配置轉寄規則即可。

  • 擴充版ALB執行個體:提供負載平衡和流量轉寄能力。

  • HTTPS監聽:接收用戶端請求。

  • DNS網域名稱類型伺服器組:配置OSS Bucket的訪問網域名稱作為後端服務。

  • OSS Bucket:儲存網站靜態資源。

適用範圍

  • 使用者已擷取ALB擴充版公測資格

  • 使用者已在華北6(烏蘭察布)地區建立一個Virtual Private Cloud,分別在可用性區域A和可用性區域B建立一個交換器。

  • 使用者已註冊自訂網域名,並已完成ICP備案。本方案中的OSS Bucket和ALB執行個體均部署於華北6(烏蘭察布)地區,綁定到OSS Bucket的網域名稱以及用戶端訪問ALB執行個體的網域名稱都需要完成ICP備案後才能使用。

  • 使用者已準備好與自訂網域名匹配的伺服器憑證。非阿里雲購買的認證需要上傳到阿里雲認證服務

操作步驟

1.建立OSS Bucket並配置靜態網站託管

建立OSS Bucket,配置公用讀取許可權,上傳靜態頁面檔案,並啟用靜態網站託管功能。

建立OSS Bucket

  1. 登入OSS管理主控台,在左側導覽列單擊Bucket列表,然後單擊建立 Bucket

  2. 建立 Bucket面板,完成以下配置,其他配置項保留預設值,單擊完成建立並確認。

    • Bucket 名稱:設定Bucket名稱,需全域唯一。

    • 地區:選擇華北6(烏蘭察布)

配置Bucket許可權

  1. 在Bucket列表中,單擊目標Bucket 名稱進入Bucket詳情頁。

  2. 在左側導覽列,單擊許可權控制 > 阻止公用訪問,關閉阻止公用訪問開關,並在彈出的對話方塊中進行確認。

  3. 切換到讀寫權限頁簽,單擊設置按鈕,將Bucket ACL修改為公用讀取,確認後單擊保存

上傳靜態頁面檔案

  1. 在左側導覽列,單擊文件管理 > 檔案清單,然後單擊上傳文件

  2. 上傳以下樣本的靜態網頁index.html文件 ACL選擇繼承Bucket

<html>
   <head>
       <title>Hello OSS!</title>
       <meta charset="utf-8">
   </head>
   <body>
       <p>Start Alibaba Cloud OSS Hosting</p>
       <p>This is the index page</p>
   </body>
</html>
  1. 繼續上傳404.html檔案,文件 ACL選擇繼承Bucket

<html>
   <head>
       <title>Page Not Found</title>
       <meta charset="utf-8">
   </head>
   <body>
       <p>The page you are looking for does not exist</p>
       <p>You can try visiting the homepage</p>
   </body>
</html>

配置靜態網站託管

在左側導覽列,單擊資料管理>靜態頁面,然後單擊設置。配置完成後保存退出。

  • 默認首頁:輸入index.html

  • 子目錄首頁:預設不開通

  • 默認 404 頁:輸入404.html

  • 錯誤文檔響應碼:預設404

2.為OSS Bucket綁定網域名稱

通過Bucket的預設網域名稱(無論內網或外網網域名稱)訪問HTML檔案時,OSS會通過添加回應標頭欄位強制瀏覽器下載檔案而非線上預覽,需要為Bucket綁定自訂網域名來繞過此安全限制。

  1. 在左側導覽列,單擊Bucket 配置 > 域名管理,然後單擊綁定網域名稱

  2. 綁定網域名稱對話方塊輸入想要綁定到OSS Bucket的網域名稱,根據提示資訊完成綁定並確認綁定的網域名稱已生效。

綁定完成後,記錄綁定的網域名稱(如static.example.com),後續步驟中將使用該網域名稱配置ALB後端服務。

3.建立擴充版ALB執行個體

  1. 登入ALB控制台,單擊建立應用型負載平衡

  2. 在購買頁完成以下配置,單擊立即建立

    • 地區:選擇華北6(烏蘭察布)

    • 執行個體網路類型:選擇公網

    • VPC可用性區域:選擇目標VPC,勾選烏蘭察布 可用性區域A烏蘭察布 可用性區域B後選擇對應交換器,並自動分配公網IP

    • 協議版本:選擇IPv4

    • 功能版本:選擇擴充版

  3. 確認訂單頁面確認執行個體配置詳情,單擊立即開通

4.配置PrivateZone解析

配置PrivateZone,將步驟二中綁定到OSS Bucket的自訂網域名指向Bucket的內網網域名稱,使ALB通過VPC內網訪問Bucket,降低公網流量成本並提升訪問穩定性。

添加PrivateZone網域名稱

  1. 登入內網網域名稱解析控制台,單擊添加域名 (Zone)

  2. 添加對話方塊,完成以下配置,單擊確定並確認。

    • 内网权威域名 (Zone):輸入OSS Bucket綁定的網域名稱,如static.example.com

    • 生效于阿里云VPC内网:選擇ALB執行個體所在VPC。

添加CNAME解析記錄

  1. 在網域名稱列表中,單擊目標網域名稱操作列的解析设置進入解析记录頁面,單擊添加记录

  2. 添加记录對話方塊,完成以下配置,單擊确定

    • 记录类型:選擇CNAME

    • 主机记录:輸入@,即解析到主網域名稱static.example.com

    • 记录值:輸入OSS Bucket的內網網域名稱。可在OSS Bucket的概覽頁查看ECS 的 VPC 網絡訪問(內網)Bucket 域名列的對應值,格式如bucket-name.oss-cn-wulanchabu-internal.aliyuncs.com

    • 解析请求来源TTL时间:保持預設。

  3. 在彈出的解析变更确认對話方塊確認解析資訊,單擊確定

解析生效後,在ALB所在VPC內訪問static.example.com時,會被最終解析至OSS Bucket的內網IP,通過VPC內網進行訪問。

5.建立DNS網域名稱類型伺服器組

建立DNS網域名稱類型的伺服器組,將OSS Bucket的訪問網域名稱添加為後端服務。

  1. 伺服器組控制台,確認地區為華北6(烏蘭察布),單擊建立伺服器組

  2. 參考以下資訊完成伺服器組配置,單擊建立

    • 伺服器群組類型:選擇DNS網域名稱

    • 伺服器組名稱:本文輸入sgp-dns-oss

    • 選擇後端協議:預設選擇HTTP

    • DNS伺服器配置:單擊一鍵填充內網DNS解析地址,系統將自動填寫阿里雲內網DNS。

  3. 伺服器組建立成功對話方塊單擊添加後端伺服器。在添加DNS網域名稱對話方塊完成以下配置,單擊確定

    • DNS網域名稱:輸入OSS Bucket綁定的網域名稱,如static.example.com

    • 通信埠:輸入80

6.建立監聽

  1. ALB控制台,單擊目標執行個體ID進入執行個體詳情頁。在監聽頁簽單擊建立監聽

  2. 配置監聽步驟,選擇監聽協議HTTPS監聽通信埠填寫443,完成後單擊下一步

  3. 設定SSL憑證步驟,選擇與自訂網域名匹配的伺服器憑證,單擊下一步

  4. 選擇伺服器組步驟,依次選擇DNS網域名稱類型和伺服器組sgp-dns-oss,完成後單擊下一步

  5. 組態稽核步驟,確認配置並單擊提交

7.設定網域名稱解析

將自有網域名稱通過CNAME解析指向ALB執行個體的DNS名稱,用戶端通過自有網域名稱訪問ALB。

本文以阿里雲Alibaba Cloud DNS為例,對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台

  1. ALB控制台,複製目標執行個體的DNS 名稱

  2. 登入網域名稱解析控制台,在目標網域名稱的操作列單擊解析设置。在解析设置頁面單擊添加记录

  3. 參考以下資訊添加CNAME記錄,完成後單擊确定

    • 记录类型:選擇CNAME

    • 主机记录:輸入欄位名首碼如test,則訪問ALB的網域名稱為test.example.com

    • 解析请求来源TTL时间:保持預設。

    • 记录值:輸入ALB執行個體的DNS名稱。

  4. 在彈出的解析变更确认對話方塊確認解析資訊,單擊確定

8.驗證測試

test.example.com為樣本網域名稱,實際測試時請替換為步驟七中配置的真實網域名稱,需確保網域名稱解析已生效

訪問首頁

在瀏覽器中訪問https://test.example.com,返回OSS中配置的預設首頁index.html

直接存取index.html

在瀏覽器中訪問https://test.example.com/index.html,同樣返回index.html

測試404錯誤頁面

在瀏覽器中訪問不存在的資源,如https://test.example.com/donotexist,返回OSS中配置的404錯誤頁面404.html

更多資訊

計費說明

  • OSS費用:按實際使用量付費,詳見OSS計費概述

  • ALB擴充版:目前處於公測階段,使用者可免費體驗。擴充版ALB執行個體綁定的 EIP 有獨立的計費規則,費用由EIP收取。

  • PrivateZone解析費用:採用隨用隨付的計費方式,詳見內網網域名稱解析產品計費

  • 網域名稱和公網DNS解析費用:除了需要支付網域名稱供應商的網域名稱費用外,在阿里雲配置公網DNS解析需要支付公網權威解析費用

  • 認證費用:從阿里雲購買認證或將認證上傳至阿里雲,需要支付伺服器憑證費用

ALB擴充版支援的地區

地區

地區

可用性區域

中國

華北6(烏蘭察布)

可用性區域A、可用性區域B、可用性區域C

華東1(杭州)

可用性區域J、可用性區域K

華北2(北京)

可用性區域I、可用性區域K、可用性區域L

華東2(上海)

可用性區域B、可用性區域F

中國香港

可用性區域B、可用性區域C、可用性區域D

亞太地區

新加坡

可用性區域A、可用性區域B、可用性區域C

日本(東京)

可用性區域B、可用性區域C、可用性區域E

馬來西亞(吉隆坡)

可用性區域A、可用性區域B、可用性區域C

歐美地區

德國(法蘭克福)

可用性區域A、可用性區域B

美國(矽谷)

可用性區域A、可用性區域B

中東

阿聯酋(杜拜)

可用性區域A、可用性區域B

使用建議

  • Bucket類型選擇:根據訪問頻率選擇合適的儲存類型,平衡效能和成本;對重要的靜態資源啟用同城冗餘儲存,擷取更高的可用性保障。

  • CDN加速:在ALB前配置CDN,將靜態資源緩衝至邊緣節點,提升訪問速度和使用者體驗。

常見問題

訪問未到達OSS,報錯upstream connect error or disconnect/reset before headers. reset reason: connection timeout

  • 確認已正確配置PrivateZone解析,且PrivateZone已正確關聯ALB所在VPC。

  • 確認伺服器組中配置的網域名稱為OSS Bucket綁定的網域名稱。

訪問到達OSS,但未展示首頁內容

  • 確認Bucket已開啟公用訪問,且ACL許可權為公用讀取。

  • 確認Bucket已開啟靜態網站託管功能,已上傳index.html檔案並設定為預設首頁。