全部產品
Search
文件中心

Platform For AI:附錄:服務狀態代碼與常見報錯

更新時間:Jul 02, 2026

EAS服務調用返回的HTTP狀態代碼可協助您快速定位問題。本文列出各狀態代碼含義及常見報錯的排查方法。

狀態代碼說明

狀態代碼

說明

200

服務正常返回。

400

請求體(Body)格式錯誤或自訂Processor代碼異常。

說明

對於自訂Processor,如果代碼拋出異常,會在服務端返回狀態代碼400。建議在自訂Processor中指定返回其他狀態代碼,以區分代碼異常。

401

服務鑒權失敗。詳情見401 Authorization Failed

404

找不到服務。詳情見404 Not Found

405

方法不被允許。比如伺服器只支援GET請求,卻發送了POST請求就會返回405。嘗試更換要求方法。

408

請求計算逾時。服務端為每個請求配置了預設逾時時間(預設5秒,可在建立服務的JSON檔案中通過metadata.rpc.keepalive欄位調整)。當單個請求處理時間長度超過該值後,服務端返回408並斷開該TCP串連。

說明

單個請求的處理時間長度包含Processor計算時間、請求接收網路資料包時間和隊列排隊時間。

429

請求觸發限流。

  • 若使用共用網關,預設限流策略:單服務1000 QPS,伺服器組10000 QPS。共用網關由使用者共用頻寬,不適合時延敏感和高並發業務,建議使用專屬網關(無預設限流)。

  • EAS提供了基於QPS的限流功能,請求並發數超出限制後,超出部分會被丟棄並返回429。通過在JSON檔案中配置metadata.rpc.rate_limit欄位開啟。

450

超出隊列長度丟棄請求

499

用戶端主動中斷連線。當用戶端主動中斷連線時,用戶端不會收到499,該串連上未完成的請求會在服務端記錄499。例如:用戶端HTTP逾時設為30毫秒,服務端處理需50毫秒,用戶端等待30毫秒後放棄請求並中斷連線,服務端監控中會出現499。

500

伺服器內部錯誤。伺服器遇到錯誤,無法完成請求。

501

尚未實施。伺服器不具備完成請求的功能。例如,伺服器無法識別要求方法時可能會返回此代碼。

502

錯誤網關。伺服器作為網關或代理,從上遊伺服器收到無效響應。

503

服務不可用。通過網關訪問服務時,如果後端服務執行個體狀態全部為非Ready,則網關會返回狀態代碼503。詳見503 no healthy upstream

504

網關逾時。詳見504 timeout

505

HTTP版本不受支援。伺服器不支援要求中所用的HTTP協議版本。

SDK調用錯誤碼

使用EAS提供的官方SDK進行服務調用時,部分錯誤碼為SDK轉換產生,並非服務端原始返回。請以網關和服務日誌中錯誤碼為準。

狀態代碼

說明

512

使用EAS Golang SDK調用服務,若用戶端主動中斷連線,將返回錯誤碼512。此類逾時斷開在服務端對應狀態代碼499。

常見報錯

404 Not Found

404 錯誤通常由無效的請求路徑、錯誤的請求體或服務不支援該介面導致。請根據收到的具體錯誤資訊,參考以下情境進行排查。

錯誤資訊

原因分析

解決方案

{"object":"error","message":"The model `` does not exist.","type":"NotFoundError","param":null,"code":404}

調用vLLM部署的服務/v1/chat/completions 介面時,請求體中model參數值為空白或無效。

image

model的參數值須為正確的模型名稱,可通過v1/models介面查詢。

{"detail":"Not Found"}

請求路徑不完整或錯誤。例如,調用LLM服務對話介面,未在基礎地址後添加v1/chat/completions

image

確保 API 請求路徑完整且正確。對於LLM服務,請參見LLM調用

調用 BladeLLM 的 /v1/models 介面,返回404: Not Found

BladeLLM部署的服務不支援v1/models介面。

image

請查閱BladeLLM服務調用參數配置說明擷取其支援的介面列表。

線上調試頁面返回 404,無其他資訊。

請求路徑錯誤。如線上調試時,基礎地址通常是 http://123***.cn-hangzhou.pai-eas.aliyuncs.com/predict/服務名。錯誤地修改或刪除了 服務名會導致 404。

image

線上調試時,通常不需要刪除或修改預設提供的地址,僅追加需要調用的具體API路徑。

API調用ComfyUI返回404 not found page

通過 API 呼叫Serverless 版本的 ComfyUI 服務 ,該版本不支援 API調用。

部署標準版或者API版,詳情請參見AI視頻產生-ComfyUI部署

400 Bad Request

請求體(Body)格式錯誤。請仔細檢查請求體格式(如JSON結構)、欄位名、資料類型是否正確。

401 Authorization Failed

訪問服務時Token未指定、不正確或使用方式錯誤。請檢查:

  • Token是否正確。服務概览頁面,在基本信息地區單擊查看调用信息

    說明

    鑒權Token預設後台自動產生,也可以通過自訂鑒權指定Token,並支援在服務更新時修改Token。

  • Token是否正確設定。

    • 使用curl命令,添加在HTTP要求標頭的Authorization欄位中。例如:curl -H 'Authorization: NWMyN2UzNjBiZmI2YT***' http:// xxx.cn-shanghai.aliyuncs.com/api/predict/echo

    • 在使用SDK訪問服務時,調用對應的SetToken()函數,詳情請參見Java SDK使用說明

504 timeout

伺服器作為網關或代理,但是沒有及時從上遊伺服器收到請求。這通常意味著模型推理耗時過長。解決方案:

  1. 在調用代碼中,主動延長HTTP請求的逾時時間。

  2. 對於耗時很長的任務,建議改用EAS的 佇列服務(非同步呼叫) 模式,它可以處理批量或長時間啟動並執行推理任務。

450 超出隊列長度丟棄請求

服務端的計算執行個體收到請求後,先將請求放入隊列排隊。當執行個體中的worker(預設5個,可在建立服務的JSON檔案中通過metadata.rpc.worker_threads欄位調整)空閑時,從隊列中取資料計算。若worker計算時間過長導致隊列堆積,隊列打滿後(預設長度64,可通過metadata.rpc.max_queue_size欄位調整),新請求會被拒絕並返回450,避免隊列過度堆積導致服務不可用。

說明

隊列限長在一定程度上也是一種限流保護,避免大流量導致服務雪崩。

處理方法

  • 當返回的狀態代碼有少量450時,因為服務端的執行個體是相互獨立的,您可以通過重試調度到其他相對閒置執行個體上,避免用戶端感知,但不能無限重試,否則限流的保護作用會失效。

  • 當Processor內部代碼卡住時,所有請求均返回狀態代碼450。當所有worker在處理請求時出現死結等情境,導致沒有worker從隊列中擷取資料進行處理,這種情境需要排查Processor代碼的Bug。

503 no healthy upstream

線上調試時報錯,錯誤碼為503,錯誤提示為“no healthy upstream”:

image

請如下排查:

  1. 查看執行個體狀態,如執行個體已停止,重啟服務即可。

  2. 如服務處於運行中狀態,可能是CPU、記憶體或顯存資源不足。

    • 當資源類型為公用資源時,建議稍後在非高峰時段再嘗試調用,或更換其他資源規格和地區。

    • 當資源類型為專屬資源(EAS資源群組)時,確保專屬資源群組為執行個體預留足夠的CPU、記憶體和顯存(建議至少保留20%空閑資源作為緩衝)。

  3. 還有一種常見情境:服務狀態為Running且執行個體均為Ready,但請求觸發了代碼Bug導致執行個體Crash,網關返回503。請結合日誌排查修複。

報錯:Unexpected token 12606 while expecting start token 200006

使用 vllm 部署 gpt-oss ,服務調用可能會出現以下錯誤:

image

解決方案:嘗試使用SGLang加速部署方式。

curl調用報錯no URL specified

使用如下命令發起請求後報錯no URL specified

curl -X http://17****.cn-hangzhou.pai-eas.aliyuncs.com/api/predict/service_name/**path** \
-H "Content-Type: application/json" \
-H "Authorization: **********==" \
-d '{"***":"****"}'

原因:curl命令使用了-X參數,但缺少了POST

調用返回ASCII 編碼

可參考如下樣本修改代碼:

from flask import Flask, Response

@app.route('/hello', methods=['POST'])
def get_advice(): 
    result = "result"
    return Response(result, mimetype='text/plain', charset='utf-8')

服務日誌中出現[WARN] connection is closed: End of file或Write a Invalid stream: End of file,如何解決?

用戶端與服務端的串連斷開後,服務端回寫請求結果時發現串連已關閉,會記錄此warning日誌。串連斷開一般分兩種情況:

  • 服務端逾時中斷連線:在Processor模式下,服務端預設逾時時間為5秒,可通過服務的metadata.rpc.keepalive參數修改。逾時後服務端關閉串連,並記錄一個408狀態代碼。

  • 用戶端逾時中斷連線:用戶端逾時時間由調用端代碼中的逾時設定決定。逾時未返迴響應時,用戶端主動中斷連線,服務端監控會記錄一個499狀態代碼。

upstream connect error or disconnect/reset before headers. reset reason: connection termination

通常由長連線逾時或執行個體負載不均衡引起。服務端處理超過用戶端HTTP逾時時間後,用戶端放棄請求並中斷連線,服務端監控會出現499狀態代碼。推理耗時較長時,建議部署非同步推理服務

Tensorflow/Pytorch processor部署的服務要求線上調試失敗,如何解決?

出於效能考慮,TensorFlow/PyTorch Processor的Request Body採用非明文的protobuf格式。線上調試僅支援明文文字格式設定輸入,因此該服務無法在控制台直接線上調試。您可以使用EAS提供的SDK來訪問服務,各語言版本SDK參考:服務調用SDK