简短描述
Amazon API Gateway 的 REST API 和 HTTP API 使用以下格式的默认 API 端点:https://API_ID.execute-api.REGION.amazonaws.com。如果您为 API Gateway 的 REST API 或 HTTP API 设置了自定义域名,则可以停用默认端点。这允许所有流量通过自定义域名路由到您的 API。
解决方法
要停用默认端点,请使用 API Gateway 控制台、AWS 命令行界面(AWS CLI)或 AWS CloudFormation。停用默认端点后,必须启动部署才能使更新生效。
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
API Gateway 控制台
REST API
- 打开 API Gateway 控制台。
- 在导航窗格中选择 API,然后选择您的 REST API。
- 在导航窗格中选择设置。
- 对于默认端点,选择禁用,然后选择保存更改。
- 在导航窗格中,依次选择资源、操作,然后选择部署 API。
HTTP API
- 打开 API Gateway 控制台。
- 在导航窗格中,选择 API,然后选择您的 HTTP API。
- 在导航窗格中,选择 API: API_NAME(API_ID)。
- 选择编辑。
- 对于默认端点,选择禁用,然后选择保存。
AWS CLI
REST API
运行 AWS CLI 命令 update-rest-api:
aws apigateway update-rest-api --rest-api-id abcdef123 --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'
要部署更新后的 API,请运行 AWS CLI 命令 create-deployment:
aws apigateway create-deployment --rest-api-id abcdef123 --stage-name dev
**注意:**将 api-id abcdef123 和 stage_name dev 替换为您的 REST API ID 和相应的阶段。
HTTP API
运行 AWS CLI 命令 update-api:
aws apigatewayv2 update-api --api-id abcdef123 --disable-execute-api-endpoint
要部署更新后的 API,请运行 AWS CLI 命令 create-deployment:
aws apigatewayv2 create-deployment --api-id abcdef123 --stage-name dev
**注意:**将 api_id abcdef123 和 stage_name dev 替换为您的 HTTP API ID 和相应的阶段。
CloudFormation 模板
要停用 CloudFormation 模板中的默认端点,请将 DisableExecuteApiEndpoint 参数设置为 True。更新 REST API 或 HTTP API 的 CloudFormation 模板。
**重要信息:**如果您使用默认端点 URL 调用 API,则停用默认端点会导致错误。对于 REST API,您会收到 HTTP 403 禁止错误,对于 HTTP API,您会收到 HTTP 404 未找到错误。
相关信息
在 Amazon API Gateway 中调用 REST API
如何解决来自 API Gateway 的 HTTP 403 错误?