Jas*_*son 2 amazon-web-services http-headers cors aws-api-gateway
我创建并部署了具有以下结构的AWS API Gateway资源,包括自定义HTTP请求标头'X-header'
dev (stage)
/echo (resource)
POST (method)
Method Request - Headers: X-header
OPTIONS (method)
Method Request - Headers: X-header
Run Code Online (Sandbox Code Playgroud)
当我从Chrome发送到端点时,出现以下错误.
XMLHttpRequest无法加载https://fxxxx.execute-api.us-west-2.amazonaws.com/dev/echo.预检响应中的Access-Control-Allow-Headers不允许请求标头字段X-header.
Chrome正在对OPTIONS方法进行预检检查.我可以看到请求标题:
Access-Control-Request-Headers:accept,content-type,x-header
Access-Control-Request-Method:POST
但响应标题只有:
Access-Control-Allow-Headers:Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
Access-Control-Allow-Methods:POST,OPTIONS
Access-Control-Allow-起源:*
Chrome希望Response Access-Control-Request-Headers包含我的自定义x-header,这似乎是合乎逻辑的.这是API Gateway错误吗?
我看到的唯一解决方法是删除自定义标头并传递POST正文中的数据.
小智 8
我有完全相同的问题。我已将自定义标头添加到资源下的 Access-Control-Allow-Headers 的逗号分隔列表中,Enable CORS; 也在资源 - 选项 - 集成响应、标头映射下。
我在 Chrome 中遇到同样的错误,并检查网络中的 OPTIONS 调用,我在响应中的 Access-Control-Allow-Headers 中没有看到我的标头名称。
您可以完全控制API网关中OPTIONS响应的CORS标头.如果需要将x-header添加到Access-Control-Allow-Headers标头,请继续添加!转到OPTIONS方法的Integration Response并修改该标头的静态值.
当您首次使用控制台功能配置CORS时(您可能没有这样做),您可以在那里输入标题列表并查看其他高级标题.
因此,您可以在创建时将来进行此更改,或者在创建OPTIONS后即时更新它.
| 归档时间: |
|
| 查看次数: |
5120 次 |
| 最近记录: |