---
url: /configuration/shared/tls-server.md
description: 入站和 API 终止 TLS 的证书、ACME、REALITY 与 Kotodama
---

# TLS 服务端

入站、控制 API 等接受 TLS 时共用的终止方式。一个 `tls` 必须恰好选择一种来源。

```yaml check
inbounds:
  secure:
    type: anytls
    listen: 127.0.0.1:8443
    password: secret
    tls:
      acme:
        domain: proxy.example.com

dns:
  servers:
    default: {type: udp, address: 127.0.0.1:53}
  final: default
```

## 字段

### certificate

* 类型：路径。
* 必填：与 `key` 成对。
* 行为：PEM 证书链，叶证书在前。

### key

* 类型：路径。
* 必填：与 `certificate` 成对。
* 行为：对应私钥；文件变化后可重新读取。

### acme

* 类型：映射。
* 必填：与静态证书、`reality`、`kotodama` 四选一。

### reality

* 类型：映射。
* 必填：四选一。
* 行为：用 REALITY 认证客户端并伪装未通过认证的连接。

### kotodama

* 类型：映射。
* 必填：四选一。
* 行为：用 Kotodama ECH 标签认证客户端。

### acme.domain

* 类型：域名或数组。
* 必填：是。
* 行为：证书要覆盖的名字，只通过 TLS-ALPN-01 验证。

### acme.email

* 类型：字符串。
* 必填：可选。
* 行为：CA 账户联系地址。

### acme.directory

* 类型：URL。
* 默认：Let's Encrypt 的 ACME directory。

### acme.http_client

* 类型：`http_clients` 名字。
* 默认：`route.default_http_client`。

### acme.data_directory

* 类型：路径。
* 默认：数据目录下的 `acme`。
* 行为：只用于导入旧版账户和证书文件。

### reality.private_key

* 类型：字符串。
* 必填：是。
* 行为：X25519 私钥的 Base64，解出必须正好 32 字节。

### reality.short_ids

* 类型：字符串数组或“用户名到字符串”的映射。
* 默认：空，表示只接受全零 short id。
* 行为：每个用户可被对应 short id 认证。

### reality.cover

* 类型：端点字符串。
* 必填：是。
* 行为：未通过 REALITY 的连接交给这个真实站点。

### reality.time_diff

* 类型：非负整数，单位秒。
* 默认：`0`，不检查时间差。

### kotodama.master_password

* 类型：字符串。
* 必填：是。
* 行为：`ktp1.` 密码或原始文本。

### kotodama.outer_sni

* 类型：字符串。
* 必填：是。
* 行为：所有 label 默认使用的外层 SNI。

### kotodama.real_upstream

* 类型：端点字符串。
* 默认：外层 SNI 的 `443` 端口。
* 行为：未通过 ECH 的连接交给该站点。

### kotodama.path

* 类型：字符串。
* 默认：`/api/v1/sync`。
* 行为：Imina POST 的默认路径。

### kotodama.inner_sni

* 类型：字符串。
* 必填：可选。
* 行为：ECH 内层名字覆盖。

### kotodama.client_labels

* 类型：字符串数组。
* 默认：只接受 `default`。

### kotodama.cover_overrides

* 类型：label 到覆盖映射的表。
* 默认：空。

### `kotodama.cover_overrides.<label>.outer_sni`

* 类型：字符串。
* 必填：可选。

### `kotodama.cover_overrides.<label>.path`

* 类型：字符串。
* 必填：可选。

### `kotodama.cover_overrides.<label>.real_upstream`

* 类型：端点字符串。
* 必填：可选。

## 说明

::: info 仅 Linux
入站 TLS、ACME、REALITY 和 Kotodama 依赖 Linux 的 BoringSSL/内核能力。
:::

证书文件与私钥必须来自同一套身份。ACME 会优先使用缓存中的有效证书，并在到期前续期；没有有效证书时先出示临时自签证书。

## 相关

* [入站总览](/configuration/inbound/)
* [共享块总览](/configuration/shared/)
* [TLS 客户端](/configuration/shared/tls-client)
