本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
HTTPAPIs在API閘CORS道中設定
跨來源資源共用 (CORS)Cross-Origin Request Blocked
,則可能需要啟用CORS。如需詳細資訊,請參閱什麼是CORS?
CORS通常需要建立可存取不同網域或來源上APIs託管的 Web 應用程式。您可以啟用CORS以允許API從託管在不同網域的 Web 應用程式向您發出要求。例如,如果您的託管API在上,https://{api_id}.execute-api.{region}.amazonaws.com/
並且您想API從託管的 Web 應用程序調用您的example.com
,則API必須支持CORS。
如果您CORS設定API,APIGateway 會自動傳送回應給預檢OPTIONS要求,即使您API的. OPTIONS 針對CORS要求,APIGateway 會將設定的CORS標頭新增至來自整合的回應。
注意
如果您進行設CORS定API,APIGateway 會忽略從後端整合傳回的CORS標頭。
您可以在CORS模型組態中指定下列參數。若要使用API閘道HTTPAPI主控台新增這些參數,請在輸入值後選擇 [新增]。
CORS標頭 | CORS組態屬性 | 範例值 |
---|---|---|
Access-Control-Allow-Origin |
allowOrigins |
|
Access-Control-Allow-Credentials |
allowCredentials |
true |
Access-Control-Expose-Headers |
exposeHeaders |
日期, x-api-id,* |
Access-Control-Max-Age |
maxAge |
300 |
Access-Control-Allow-Methods |
allowMethods |
GET, POST, DELETE, * |
Access-Control-Allow-Headers |
allowHeaders |
Authorization、* |
若要傳回CORS標頭,您的要求必須包含標origin
頭。對於該OPTIONS
方法,您的請求必須包含origin
標頭和Access-Control-Request-Method
標頭。
您的CORS配置看起來可能類似於以下內容:
配置CORSHTTPAPI具有$default
路由和授權者
您可以啟用CORS和配置的任何路由的授權HTTPAPI。當您啟用CORS和授權$default
路由時,有一些特殊的考量。$default
路由會擷取您未明確定義之所有方法和路由的請求,包括 OPTIONS
請求。要支持未經授權的OPTIONS
請求,請向您API添加不需要授權的OPTIONS /{proxy+}
路由,並將集成附加到路由。該 OPTIONS /{proxy+}
路由具有比 $default
路由更高的優先順序。因此,它使客戶端可以在API未經授權的情況下向您提交OPTIONS
請求。如需有關路由傳送優先順序的詳細資訊,請參閱路由傳送 API 請求。
CORSHTTPAPI使用 AWS CLI
您可以使用下面的更新 API 命令來啟用CORS請求。https://www.example.com
aws apigatewayv2 update-api --api-id
api-id
--cors-configuration AllowOrigins="https://www.example.com"
如需詳細資訊,請參閱 Amazon API 閘道第 2 版API參考資料CORS中的。