我有一个与此问题类似的问题: getting message: forbidden reply from AWS API gateway
我遵循了一个教程,并在AWS API Gateway上设置了calc API。一切都按照教程中的描述进行,将api部署到测试阶段,并且无法访问它。 我还尝试将示例API导入宠物商店的AWS API Gateway。再次,在AWS Console内进行测试是有效的,当我部署到阶段时,AWS提供的URL不起作用。
但是从评论和答复中我无法解决它。
我检查了通常的解决方案:
我还尝试了不同的资源策略(每次更改时,我都会重新部署)
{
"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进行访问。
感谢您的帮助。
答案 0 :(得分:0)
我发现了问题所在,就是从对AWS开通的VPN连接访问端点。因此,对API的访问来自AWS EC2,我不知道为什么,但是当我从VPN注销时,它起作用了。