

# 配置其他设置
<a name="configuring-additional-settings"></a>

启用基本双向 TLS 身份验证后，您可以配置其他设置，针对特定使用案例和要求来自定义身份验证行为。

## 客户端证书验证可选模式
<a name="optional-mode"></a>

CloudFront 提供了一种备用的可选客户端证书验证模式，该模式可验证所提供的客户端证书，但会向未提供证书的客户端授予访问权限。

### 可选模式行为
<a name="optional-mode-behavior"></a>
+ 允许拥有有效证书的客户端建立连接（无效证书将被拒绝）。
+ 允许无证书的客户端建立连接。
+ 允许通过单个分配实施的混合客户端身份验证场景。

可选模式非常适合向 mTLS 身份验证逐步迁移，既能支持拥有证书的客户端与无证书的客户端，又能保持与传统客户端的向后兼容性。

**注意**  
在可选模式下，即使客户端未提供证书，连接函数也将被调用。这可让您实施自定义逻辑，例如记录客户端 IP 地址或根据是否提供了证书来应用不同的策略。

### 配置可选模式（控制台）
<a name="configure-optional-mode-console"></a>

1. 在分配设置中，导航至**常规**选项卡，选择**编辑**。

1. 滚动到**连接性**容器中的**查看器双向身份验证(mTLS)** 部分。

1. 对于**客户端证书验证模式**，选择**可选**。

1. 保存更改。

### 配置可选模式（AWS CLI）
<a name="configure-optional-mode-cli"></a>

以下示例演示如何配置可选模式：

```
"ViewerMtlsConfig": {
   "Mode": "optional",
   ...other settings
}
```

## 证书颁发机构公告
<a name="ca-advertisement"></a>

AdvertiseTrustStoreCaNames 字段可控制 CloudFront 是否在 TLS 握手过程中向客户端发送可信 CA 名称列表，从而帮助客户端选择适当的证书。

### 配置 CA 公告（控制台）
<a name="configure-ca-advertisement-console"></a>

1. 在分配设置中，导航至**常规**选项卡，选择**编辑**。

1. 滚动到**连接性**容器中的**查看器双向身份验证(mTLS)** 部分。

1. 选中或取消选中**公布信任存储 CA 名称**复选框。

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

### 配置 CA 公告（AWS CLI）
<a name="configure-ca-advertisement-cli"></a>

以下示例演示如何启用 CA 公告：

```
"ViewerMtlsConfig": {
   "Mode": "required", // or "optional"
   "TrustStoreConfig": {
      "AdvertiseTrustStoreCaNames": true,
      ...other settings
   } 
}
```

## 证书到期处理
<a name="certificate-expiration-handling"></a>

IgnoreCertificateExpiry 属性决定 CloudFront 对到期的客户端证书的响应方式。默认情况下，CloudFront 会拒绝到期的客户端证书，但您可将其配置为在必要时接受此类证书。对于证书已到期且无法即刻更新的设备，通常会启用此配置。

### 配置证书到期处理（控制台）
<a name="configure-expiration-console"></a>

1. 在分配设置中，导航至**常规**选项卡，选择**编辑**。

1. 滚动到**连接性**容器的**查看器双向身份验证(mTLS)** 部分。

1. 选中或取消选中**忽略证书到期日期**复选框。

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

### 配置证书到期处理（AWS CLI）
<a name="configure-expiration-cli"></a>

以下示例演示如何忽略证书到期情况：

```
"ViewerMtlsConfig": {
  "Mode": "required", // or "optional"
  "TrustStoreConfig": {
     "IgnoreCertificateExpiry": false,
     ...other settings
  }
}
```

**注意**  
**IgnoreCertificateExpiry** 仅适用于证书有效日期。所有其他证书验证检查仍将适用（信任链、签名验证）。

## 后续步骤
<a name="additional-settings-next-steps"></a>

配置其他设置后，您可以设置标头转发以将证书信息传递至源，使用连接函数和 KeyValueStore 实施证书吊销，并启用连接日志以进行监控。有关将证书信息转发至源的详细信息，请参阅[将标头转发到源](viewer-mtls-headers.md)。