github.com/sagernet/sing-box@v1.2.7/docs/configuration/shared/tls.zh.md (about) 1 ### 入站 2 3 ```json 4 { 5 "enabled": true, 6 "server_name": "", 7 "alpn": [], 8 "min_version": "", 9 "max_version": "", 10 "cipher_suites": [], 11 "certificate": "", 12 "certificate_path": "", 13 "key": "", 14 "key_path": "", 15 "acme": { 16 "domain": [], 17 "data_directory": "", 18 "default_server_name": "", 19 "email": "", 20 "provider": "", 21 "disable_http_challenge": false, 22 "disable_tls_alpn_challenge": false, 23 "alternative_http_port": 0, 24 "alternative_tls_port": 0, 25 "external_account": { 26 "key_id": "", 27 "mac_key": "" 28 } 29 }, 30 "reality": { 31 "enabled": false, 32 "handshake": { 33 "server": "google.com", 34 "server_port": 443, 35 36 ... // 拨号字段 37 }, 38 "private_key": "UuMBgl7MXTPx9inmQp2UC7Jcnwc6XYbwDNebonM-FCc", 39 "short_id": [ 40 "0123456789abcdef" 41 ], 42 "max_time_difference": "1m" 43 } 44 } 45 ``` 46 47 ### 出站 48 49 ```json 50 { 51 "enabled": true, 52 "disable_sni": false, 53 "server_name": "", 54 "insecure": false, 55 "alpn": [], 56 "min_version": "", 57 "max_version": "", 58 "cipher_suites": [], 59 "certificate": "", 60 "certificate_path": "", 61 "ech": { 62 "enabled": false, 63 "pq_signature_schemes_enabled": false, 64 "dynamic_record_sizing_disabled": false, 65 "config": "" 66 }, 67 "utls": { 68 "enabled": false, 69 "fingerprint": "" 70 }, 71 "reality": { 72 "enabled": false, 73 "public_key": "jNXHt1yRo0vDuchQlIP6Z0ZvjT3KtzVI-T4E7RoLJS0", 74 "short_id": "0123456789abcdef" 75 } 76 } 77 ``` 78 79 TLS 版本值: 80 81 * `1.0` 82 * `1.1` 83 * `1.2` 84 * `1.3` 85 86 密码套件值: 87 88 * `TLS_RSA_WITH_AES_128_CBC_SHA` 89 * `TLS_RSA_WITH_AES_256_CBC_SHA` 90 * `TLS_RSA_WITH_AES_128_GCM_SHA256` 91 * `TLS_RSA_WITH_AES_256_GCM_SHA384` 92 * `TLS_AES_128_GCM_SHA256` 93 * `TLS_AES_256_GCM_SHA384` 94 * `TLS_CHACHA20_POLY1305_SHA256` 95 * `TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA` 96 * `TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA` 97 * `TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA` 98 * `TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA` 99 * `TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256` 100 * `TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384` 101 * `TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256` 102 * `TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384` 103 * `TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256` 104 * `TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256` 105 106 !!! note "" 107 108 当内容只有一项时,可以忽略 JSON 数组 [] 标签 109 110 ### 字段 111 112 #### enabled 113 114 启用 TLS 115 116 #### disable_sni 117 118 ==仅客户端== 119 120 不要在 ClientHello 中发送服务器名称. 121 122 #### server_name 123 124 用于验证返回证书上的主机名,除非设置不安全。 125 126 它还包含在 ClientHello 中以支持虚拟主机,除非它是 IP 地址。 127 128 #### insecure 129 130 ==仅客户端== 131 132 接受任何服务器证书。 133 134 #### alpn 135 136 支持的应用层协议协商列表,按优先顺序排列。 137 138 如果两个对等点都支持 ALPN,则选择的协议将是此列表中的一个,如果没有相互支持的协议则连接将失败。 139 140 参阅 [Application-Layer Protocol Negotiation](https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation)。 141 142 #### min_version 143 144 可接受的最低 TLS 版本。 145 146 默认情况下,当前使用 TLS 1.2 作为客户端的最低要求。作为服务器时使用 TLS 1.0。 147 148 #### max_version 149 150 可接受的最大 TLS 版本。 151 152 默认情况下,当前最高版本为 TLS 1.3。 153 154 #### cipher_suites 155 156 将在 ECDHE 握手中使用的椭圆曲线,按优先顺序排列。 157 158 如果为空,将使用默认值。 159 160 客户端将使用第一个首选项作为其在 TLS 1.3 中的密钥共享类型。 161 这在未来可能会改变。 162 163 #### certificate 164 165 服务器 PEM 证书。 166 167 #### certificate_path 168 169 服务器 PEM 证书路径。 170 171 #### key 172 173 ==仅服务器== 174 175 服务器 PEM 私钥。 176 177 #### key_path 178 179 ==仅服务器== 180 181 服务器 PEM 私钥路径。 182 183 #### ech 184 185 ==仅客户端== 186 187 !!! warning "" 188 189 默认安装不包含 ECH, 参阅 [安装](/zh/#_2)。 190 191 ECH (Encrypted Client Hello) 是一个 TLS 扩展,它允许客户端加密其 ClientHello 的第一部分 192 信息。 193 194 如果您不知道如何填写其他配置,只需设置 `enabled` 即可。 195 196 #### utls 197 198 ==仅客户端== 199 200 !!! warning "" 201 202 默认安装不包含 uTLS, 参阅 [安装](/zh/#_2)。 203 204 !!! note "" 205 206 uTLS 维护不善且其效果可能未经证实,使用风险自负。 207 208 uTLS 是 "crypto/tls" 的一个分支,它提供了 ClientHello 指纹识别阻力。 209 210 可用的指纹值: 211 212 * chrome 213 * firefox 214 * edge 215 * safari 216 * 360 217 * qq 218 * ios 219 * android 220 * random 221 * randomized 222 223 默认使用 chrome 指纹。 224 225 ### ACME 字段 226 227 !!! warning "" 228 229 默认安装不包含 ACME,参阅 [安装](/zh/#_2)。 230 231 #### domain 232 233 一组域名。 234 235 默认禁用 ACME。 236 237 #### data_directory 238 239 ACME 数据目录。 240 241 默认使用 `$XDG_DATA_HOME/certmagic|$HOME/.local/share/certmagic`。 242 243 #### default_server_name 244 245 如果 ClientHello 的 ServerName 字段为空,则选择证书时要使用的服务器名称。 246 247 #### email 248 249 创建或选择现有 ACME 服务器帐户时使用的电子邮件地址。 250 251 #### provider 252 253 要使用的 ACME CA 供应商。 254 255 | 值 | 供应商 | 256 |--------------------|---------------| 257 | `letsencrypt (默认)` | Let's Encrypt | 258 | `zerossl` | ZeroSSL | 259 | `https://...` | 自定义 | 260 261 #### disable_http_challenge 262 263 禁用所有 HTTP 质询。 264 265 #### disable_tls_alpn_challenge 266 267 禁用所有 TLS-ALPN 质询。 268 269 #### alternative_http_port 270 271 用于 ACME HTTP 质询的备用端口;如果非空,将使用此端口而不是 80 来启动 HTTP 质询的侦听器。 272 273 #### alternative_tls_port 274 275 用于 ACME TLS-ALPN 质询的备用端口; 系统必须将 443 转发到此端口以使质询成功。 276 277 #### external_account 278 279 EAB(外部帐户绑定)包含将 ACME 帐户绑定或映射到其他已知帐户所需的信息由 CA。 280 281 外部帐户绑定“用于将 ACME 帐户与非 ACME 系统中的现有帐户相关联,例如 CA 客户数据库。 282 283 为了启用 ACME 帐户绑定,运行 ACME 服务器的 CA 需要向 ACME 客户端提供 MAC 密钥和密钥标识符,使用 ACME 之外的一些机制。 284 §7.3.4 285 286 #### external_account.key_id 287 288 密钥标识符。 289 290 #### external_account.mac_key 291 292 MAC 密钥。 293 294 ### Reality 字段 295 296 !!! warning "" 297 298 默认安装不包含 reality 服务器,参阅 [安装](/zh/#_2)。 299 300 !!! warning "" 301 302 默认安装不包含被 reality 客户端需要的 uTLS, 参阅 [安装](/zh/#_2)。 303 304 #### handshake 305 306 ==仅服务器== 307 308 ==必填== 309 310 握手服务器地址和 [拨号参数](/zh/configuration/shared/dial/)。 311 312 #### private_key 313 314 ==仅服务器== 315 316 ==必填== 317 318 私钥,由 `sing-box generate reality-keypair` 生成。 319 320 #### public_key 321 322 ==仅客户端== 323 324 ==必填== 325 326 公钥,由 `sing-box generate reality-keypair` 生成。 327 328 #### short_id 329 330 ==必填== 331 332 一个零到八位的十六进制字符串。 333 334 #### max_time_difference 335 336 服务器与和客户端之间允许的最大时间差。 337 338 默认禁用检查。 339 340 ### 重载 341 342 对于服务器配置,如果修改,证书和密钥将自动重新加载。