ALB擴充版支援API Key入站身份認證,在請求轉寄至後端大模型服務前驗證憑證有效性,拒絕未授權訪問,保護AI服務安全。
方案架構
擴充版ALB執行個體接收用戶端請求,轉寄規則根據HTTP標題匹配請求。API Key認證組件通過服務擴充關聯轉寄規則,在轉寄動作前執行:從HTTP要求標頭中提取API Key,與預配置的憑證進行比對,匹配成功時允許轉寄至後端AI服務;未匹配或請求未提供API Key時直接返回401響應,阻止請求繼續轉寄。
-
擴充版ALB執行個體:提供負載平衡和流量轉寄能力。
-
AI類型伺服器組:對接後端大模型服務。
-
HTTPS監聽:接收用戶端請求。
-
轉寄規則:根據HTTP標題條件匹配請求並轉寄。
-
服務擴充:通過API Key認證組件實現入站身份認證和轉寄控制。
適用範圍
-
使用者已擷取ALB擴充版公測資格。
-
使用者已在華北6(烏蘭察布)地區建立一個Virtual Private Cloud,分別在可用性區域A和可用性區域B建立一個交換器,且交換器已開通公網SNAT(用於AI伺服器組調用公網大模型)。
-
使用者已開通阿里雲百鍊並擷取了API Key。
-
使用者已準備好與自訂網域名匹配的伺服器憑證。非阿里雲購買的認證需要上傳到阿里雲認證服務。
操作步驟
1.建立擴充版ALB執行個體
-
登入ALB控制台,選擇華北6(烏蘭察布)地區,單擊建立應用型負載平衡。
-
在購買頁完成以下配置,單擊立即購買。
-
地區:選擇華北6(烏蘭察布)。
-
執行個體網路類型:選擇公網。
-
VPC和可用性區域:選擇目標VPC,勾選烏蘭察布 可用性區域A和烏蘭察布 可用性區域B後選擇對應交換器,並自動分配公網IP。
-
協議版本:選擇IPv4。
-
功能版本(執行個體費):選擇擴充版。
-
-
在確認訂單頁面確認執行個體配置詳情,單擊立即開通。
2.建立AI類型伺服器組
建立AI類型伺服器組,對接阿里雲百鍊。
-
在伺服器組控制台,單擊建立伺服器組,伺服器群組類型選擇AI服務,輸入名稱如
sgp-ai-qwen,單擊建立。 -
在伺服器組建立成功對話方塊單擊添加後端伺服器。
-
在添加AI服務對話方塊完成以下配置,單擊確定。
-
大模型供應商:選擇阿里雲百鍊。
-
服務地址:選擇大模型供應商後自動填滿。
-
API Key:填入從阿里雲百鍊平台擷取的API Key。
-
3.建立監聽
-
在ALB控制台,單擊目標執行個體ID進入執行個體詳情頁。在監聽頁簽單擊建立監聽。
-
在配置監聽步驟,選擇監聽協議為HTTPS,監聽通信埠填寫
443,完成後單擊下一步。 -
在配置SSL認證步驟,選擇與自訂網域名匹配的伺服器憑證,單擊下一步。
-
在選擇伺服器組步驟,依次選擇AI服務類型和伺服器組
sgp-ai-qwen,完成後單擊下一步。此處選擇的伺服器組將用於監聽的預設規則,即在請求未命中其他轉寄規則時處理請求,使用者可根據實際需求進行調整。
-
在組態稽核步驟,確認配置並單擊提交。
4.建立服務擴充
建立服務擴充並添加API Key認證組件,從HTTP標題提取API Key並應用入站身份認證。
-
在服務擴充控制台,單擊建立服務擴充。在服務擴充配置地區,輸入服務副檔名稱如
ext-apikey-auth。 -
擴充類型預設選擇外掛程式,組件名稱下拉選擇API Key認證。配置認證策略,完成後單擊建立。
-
憑證來源:預設選擇Authorization:Bearer<token> 。
此處的
<token>表示用戶端請求時在Authorization: Bearer後填入API Key的位置,ALB會從此處提取並驗證API Key。 -
產生方式:預設選擇系統產生。
-
逾時時間(毫秒)和處理策略:本文保持預設值
1000和終止,使用者可按需調整。
憑證來源支援多種方式:預設的Authorization:Bearer<token> 、自訂HTTP標題、自訂查詢字串或自訂Cookie參數。使用者可根據實際需求選擇。
系統產生方式會自動產生API Key憑證,建立完成後可在服務擴充詳情頁查看和複製憑證。使用者也可選擇自訂方式,手動輸入API Key。
-
5.配置轉寄規則
在監聽上建立轉寄規則,添加HTTP標題條件並關聯服務擴充。
-
在ALB控制台,單擊目標執行個體ID進入執行個體詳情頁。切換到監聽頁簽後,單擊目標監聽ID進入監聽詳情頁,再切換到轉寄規則頁簽。
-
單擊插入新規則,完成以下配置後單擊確定。
-
轉寄條件:選擇HTTP標題,鍵是
k,值是v。k: v僅作樣本,用於生產時使用者可按需配置HTTP標題索引值對,或使用其他類型的轉寄條件。 -
服務擴充(可選):預設使用已有服務擴充,下拉選擇
ext-apikey-auth。 -
轉寄動作:選擇轉寄至AI服務伺服器組
sgp-ai-qwen。
-
轉寄規則建立後,包含HTTP標題k: v的請求會命中該規則,服務擴充從HTTP要求標頭Authorization中提取<token>作為API Key憑證進行比對認證,認證通過後轉寄至伺服器組sgp-ai-qwen。
6.設定網域名稱解析
將自有網域名稱通過CNAME解析指向ALB執行個體的DNS名稱,用戶端通過自有網域名稱訪問ALB。
本文以阿里雲Alibaba Cloud DNS為例,對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台。
7.驗證測試
使用curl命令發送請求驗證API Key認證功能,請求需滿足以下條件:
-
包含轉寄規則匹配標題
k: v:用於匹配關聯了服務擴充的轉寄規則。 -
符合OpenAI相容協議:請求路徑為
/v1/completions、/v1/chat/completions或/v1/embeddings且整體格式符合規範。
以下測試命令中的網域名稱ai.example.com為樣本網域名稱,實際測試時請替換為步驟六中配置的真實網域名稱,需確保網域名稱解析已生效。
請求攜帶正確憑證
即請求包含Authorization: Bearer <token>頭欄位,其中<token>為步驟四中系統產生的API Key憑證。
curl -v \
-H "k: v" \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "你是誰"
}
]
}' \
https://ai.example.com/v1/chat/completions
請求成功時,返回HTTP 200狀態代碼和AI服務響應:
{
"choices": [
{
"message": {
"role": "assistant",
"content": "你好!我是千問,是阿里巴巴集團旗下的通義實驗室自主研發的超大規模語言模型..."
},
"finish_reason": "stop",
"index": 0
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 14,
"completion_tokens": 53,
"total_tokens": 67
},
"model": "qwen-turbo"
}
請求攜帶錯誤憑證或請求不攜帶憑證
請求攜帶錯誤憑證
即請求包含Authorization: Bearer <token>頭欄位,但其中<token>非正確憑證。
curl -v \
-H "k: v" \
-H "Authorization: Bearer wrong-api-key" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "你是誰"
}
]
}' \
https://ai.example.com/v1/chat/completions
請求不攜帶憑證
即請求不包含Authorization: Bearer <token>頭欄位。
curl -v \
-H "k: v" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-turbo",
"messages": [
{
"role": "user",
"content": "你是誰"
}
]
}' \
https://ai.example.com/v1/chat/completions
請求失敗時,返回HTTP 401狀態代碼,響應體包含認證失敗資訊。
HTTP回應標頭:
HTTP/2 401
content-length: 29
content-type: text/plain
date: Wed, 21 Jan 2026 05:58:31 GMT
HTTP響應體:
Client authentication failed
響應說明:
-
HTTP狀態代碼:
401,表示請求因未通過身份認證被拒絕。 -
響應體:純文字格式的
Client authentication failed提示資訊,表明用戶端身份認證失敗。
更多資訊
計費說明
ALB擴充版支援的地區
地區 | 地區 | 可用性區域 |
中國 | 華北6(烏蘭察布) | 可用性區域A、可用性區域B、可用性區域C |
華東1(杭州) | 可用性區域J、可用性區域K | |
亞太地區 | 新加坡 | 可用性區域A、可用性區域B、可用性區域C |
歐美地區 | 德國(法蘭克福) | 可用性區域A、可用性區域B |
使用建議
-
API Key管理:定期輪換API Key,避免長期使用同一憑證。使用系統產生方式時,妥善保管產生的API Key,避免泄露。
-
憑證來源選擇:根據實際需求選擇合適的憑證來源。預設的Authorization:Bearer<token>方式符合OpenAI相容協議,適用於大多數情境。如需自訂,建議使用自訂HTTP標題或自訂查詢字串方式,避免在URL中暴露API Key。
常見問題
報錯upstream connect error or disconnect/reset before headers. reset reason: connection timeout
此報錯通常為後端服務不可達,請確認ALB執行個體所在交換器已正確配置SNAT,從而確保ALB能將請求轉寄到公網的百鍊大模型。
已配置API Key認證,請求不帶憑證卻可以成功
-
確認轉寄條件與請求格式匹配且轉寄規則具備足夠高的優先順序,確保需要進行認證的請求能命中轉寄規則。
-
確認服務擴充正確添加了API Key認證組件且已關聯轉寄規則。