API网关的自定义域返回403

时间:2016-04-07 03:16:24

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

我正在使用API​​ Gateway和Lambda创建一个api。使用API​​ Gateway Stage编辑器中指定的url一切正常;但是,当我尝试移动到自定义域时,我遇到了一些问题。

我尝试的第一件事就是使用Route 53中的CNAME记录直接从我的域到我从API网关获得的域。那是一些错误,我认为这是不正确的解决方案是正确的吗?

接下来,我尝试了API网关中的自定义域名功能。我的理解是,这将卷起一个CloudFront分配,然后我可以从Route 53映射到。当我创建自定义域并添加了域映射时,它为我提供了一个我认为是CloudFront分发的URL。该链接返回403响应,并且未在CloudFront中进行分发。调试此问题的好方法是什么?

4 个答案:

答案 0 :(得分:14)

如果您还没有看到它,请参阅开发人员指南。 http://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html

您需要做的就是设置一个CNAME,DNS提供商指向API网关为您提供的CF分发。您将无法直接向CF分发进行API调用。 API网关从您在API网关中设置的基本路径映射映射API /阶段,因此只有针对域名的API调用才能正常工作。

答案 1 :(得分:11)

您需要在请求中使用主机标头。主机应该是您的自定义域。

curl https://<cf-id>.cloudfront.net/myapi -H "Host: api.myapi.com"

答案 2 :(得分:5)

在我的情况下,我必须添加基本路径映射。

答案 3 :(得分:0)

相关问题:

正好低于回应:

{"message":"Forbidden"}
浏览器中的

F12 > Network > ( select error line) > Response (on right side)

可能意味着 在url路径

中出现问题