首页 文章

API网关的自定义域返回403

提问于
浏览
11

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

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

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

4 回答

  • 3

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

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

  • 9

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

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

    在我的情况下,我不得不添加基本路径映射 .

  • 0

    相关问题:

    恰好低于响应:

    {"message":"Forbidden"}
    

    在浏览器中

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

    也许意味着
    在url路径中,有些东西是错误的

相关问题