AWS Signature 4:Chrome拒绝设置不安全标头" Host"

时间:2018-04-03 04:57:19

标签: amazon-web-services aws-api-gateway

我尝试使用Signature 4签署请求并从Angular4前端访问它来保护apigateway端点。

Signature 4文档指定: (https://docs.aws.amazon.com/apigateway/api-reference/signing-requests/):

  

以规范格式创建HTTP请求。规范请求必须包含主机和x-amz-date标头,用于没有有效负载的请求,例如GET或DELETE,并且还必须包含需要有效负载的请求的内容类型标头,例如PATCH ,POST或PUT。"

当我使用POSTMAN进行签名时效果很好,但是从浏览器中它没有用,因为当我尝试设置标题HOST时,chrome会抛出错误:

  

拒绝设置不安全的标题" Host" http.es5.js:1253

然后,如果我查看Chrome发送的请求标头,则没有主机标头,而是:权限标头。

据我所知,这是一个安全问题,并且无法强迫Chrome执行此操作。

有一种方法可以告诉AWS Signature 4考虑:authority insted host 吗?

或者还有其他方式可以安全地从浏览器访问? (据我所知,API GATEWAY不支持Signature V2)

0 个答案:

没有答案