创建指向 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 之间的整个流量不会通过互联网发生。
好吧,我有一个 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 之间的整个流量不会通过互联网发生。