AWS API Gateway URL返回{“ message”:“ Forbidden”}

时间:2019-02-28 08:20:31

标签: amazon-web-services

我有一个与此问题类似的问题: getting message: forbidden reply from AWS API gateway

我遵循了一个教程,并在AWS API Gateway上设置了calc API。一切都按照教程中的描述进行,将api部署到测试阶段,并且无法访问它。 我还尝试将示例API导入宠物商店的AWS API Gateway。再次,在AWS Console内进行测试是有效的,当我部署到阶段时,AWS提供的URL不起作用。

但是从评论和答复中我无法解决它。

我检查了通常的解决方案:

  1. 这与CORS无关,我无法通过Chrome或邮递员访问此URL
  2. 它与自定义域无关,我正在使用阶段UI中AWS提供的默认URL
  3. 我正在访问正确的URL,即stage_name / resource
  4. 我的授权=无,并且需要的API密钥= false

我还尝试了不同的资源策略(每次更改时,我都会重新部署)

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Allow",
        "Principal": "*",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:eu-west-1:xxx:km1rmsmo1j/test/calc/POST/*"
    }
]

{
"Version": "2012-10-17",
"Statement": [
    {
        "Effect": "Deny",
        "Principal": "*",
        "Action": "execute-api:Invoke",
        "Resource": "arn:aws:execute-api:eu-west-1:xxxxx:km1rmsmo1j/test/*/*"
    }
]

}

仍然无法拨打电话:https://km1rmsmo1j.execute-api.eu-west-1.amazonaws.com/test/calc

我认为关于AWS的所有教程都省略了最后也是最重要的问题,即如何使其可公开访问。因为根据我的观察,默认情况下看起来不是这样-至少必须更改某些地方以使其可以从公共Internet进行访问。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我发现了问题所在,就是从对AWS开通的VPN连接访问端点。因此,对API的访问来自AWS EC2,我不知道为什么,但是当我从VPN注销时,它起作用了。