TLS
Верхнеуровневый блок tls содержит TLS-материал по умолчанию — его использует слушатель external-controller-tls, а также входящие, которые предпочитают наследовать сертификат из глобального блока вместо объявления собственного.
Параметры
| Поле | Тип | По умолчанию | Допустимые значения | Описание |
|---|---|---|---|---|
certificate | string | (unset) | <PEM file path> | <PEM literal> | TLS-сертификат по умолчанию для входящих, не предоставивших собственный. Либо путь к файлу, либо PEM-блок прямо в конфигурации. |
private-key | string | (unset) | <key file path> | <key literal> | Закрытый ключ, соответствующий `certificate`. |
client-auth-type | string | (none) | no-client-cert | request-client-cert | require-any-client-cert | verify-client-cert-if-given | require-and-verify-client-cert | Стандартная для Go настройка ClientAuth, определяющая, должны ли клиенты предъявлять сертификат TLS-защищённым входящим. |
client-auth-cert | string | (unset) | <PEM file path> | PEM-набор CA-сертификатов, принимаемых как корневые для клиентов. |
ech-key | string | (unset) | <ECH config / key> | Конфигурационный материал ECH (Encrypted Client Hello) для входящих, поддерживающих ECH. |
custom-certifactes | []string | [] | <PEM file path> | Дополнительные CA-сертификаты, добавляемые к доверенному набору при проверке исходящих узлов. (Обратите внимание: в исходном коде поле пишется `certifactes`.) |
Исходный код: config/config.go:390-397 · зафиксировано на v1.19.29 (e26714a)
Пример
yaml
tls:
certificate: /etc/mihomo/server.crt
private-key: /etc/mihomo/server.key
client-auth-type: require-and-verify-client-cert
client-auth-cert: /etc/mihomo/clients-ca.crt
custom-certifactes:
- /etc/mihomo/extra-ca.crtПримечания
- Имя поля
custom-certifactesв исходном коде написано с ошибкой (пропущена букваi); мы сохраняем это написание, чтобы оно соответствовало фактическому YAML-ключу. - Встраиваемые значения
certificate/private-keyиспользуют буквальные переводы строк — для всего, что хранится в системе контроля версий, предпочитайте пути к файлам.
Исходный код: config/config.go:390-397 · v1.19.29 (e26714a)
