创建指向 AWS ApiGateway 的 Route 53

Creating a Route 53 pointing to AWS ApiGateway

好吧,我有一个 AWS::ApiGateway::RestApi 资源,它总是生成一个 url 像这样:https://{GATEWAYID}.execute-api.{REGION}.amazonaws.com/{STAGE}

所以,我创造了我CNAME in Route 53,具有以下特点:

  CnameRoute53Api:
    Type: AWS::Route53::RecordSet
    Properties:
      HostedZoneId: !Ref MyHostedZone
      Name: api.privatedomain
      Type: CNAME
      TTL: 300
      ResourceRecords:
        - !Sub ${GatewayId}.execute-api.${AWS::Region}.amazonaws.com
    DependsOn: MyHostedZone

如您所见,我在 private hostedzone 中创建了一个指向我的网关的 CNAME。现在我正在尝试在这个帐户的 EC2 中创建一个 CURL:

curl -v https://api.privatedomain

我收到以下错误:

url: (51) SSL: no alternative certificate subject name matches target host name 'api.privatedomain'

我了解 SSL 证书未准备好接受来自“api.privatedomain”的请求。无论如何要修复它?我不想购买自定义域来将我的 api 公开到互联网,此 api 只能在此帐户内访问。

如您所见,由于 SSL 问题,您无法执行此操作。如果您不想使用 AWS 提供的 API 默认域,您必须购买 您自己的 public 域 ,您可以免费获得该域,public 使用 ACM 的 SSL 证书。

但是无论如何,如果您不想拥有 public API,为什么不创建 private API。目前,您的私人区域将通过互联网解析为 public API。因此,为此使用私有区域会适得其反。

与 public API 不同,使用私有 API 可确保您的实例与 API 之间的整个流量不会通过互联网发生。