

# 禁用 REST API 的默认端点
<a name="rest-api-disable-default-endpoint"></a>

默认情况下，客户端可以通过使用 API Gateway 为 API 生成的 `execute-api` 端点来调用您的 API。为确保客户端只能通过使用自定义域名访问您的 API，请禁用默认 `execute-api` 端点。客户端仍然可以连接到您的默认端点，但它们会收到 `403 Forbidden` 状态码。禁用默认端点会影响 API 的所有阶段。当您更新任何阶段上的任何设置（例如，更新阶段上的部署）时，此设置就会生效。

以下过程说明了如何禁用 REST API 的默认端点。

------
#### [ AWS 管理控制台 ]

1. 通过以下网址登录到 Amazon API Gateway 控制台：[https://console.aws.amazon.com/apigateway](https://console.aws.amazon.com/apigateway)。

1. 选择一个 REST API。

1. 在主导航窗格中，选择 **API 设置**。

1. 选择一个 API。

1. 在 **API 详细信息**选项卡上，选择**编辑**。

1. 对于**默认端点**，选择**非活动**。

1. 选择**保存更改**。

1. 在主导航窗格中，选择**资源**。

1. 选择**部署 API**。

1. 将 API 重新部署到阶段或更新阶段上的任何设置，以使更新生效。

------
#### [ AWS CLI ]

使用以下 [update-rest-api](https://docs.aws.amazon.com/cli/latest/reference/apigateway/update-rest-api.html) 命令禁用默认端点：

```
aws apigateway update-rest-api \
    --rest-api-id abcdef123 \
    --patch-operations op=replace,path=/disableExecuteApiEndpoint,value='True'
```

禁用默认端点后，必须部署 API 才能使更改生效。

以下 [create-deployment](https://docs.aws.amazon.com/cli/latest/reference/apigateway/create-deployment.html) 命令创建部署并将其与某个阶段关联：

```
aws apigateway create-deployment \
    --rest-api-id abcdef123 \
    --stage-name dev
```

------