Пaраметр upstream_ssl#
Опциональные параметры:
ssl_use
Вкл./Откл. поддержка ssl/tls соединения для взаимодействия с upstream'ом.
Тип параметра:
true;
false.
По умолчанию:
ssl_use: falsesspi
Вкл./Откл. режим GOST TLS.
Тип параметра:
true;
false.
По умолчанию:
sspi: falsessl_verify_local_crl_only
В случае режима GOST определяет, проверять ли статус сертификата локально (иначе проверка осуществляется онлайн).
Тип параметра: строковое значение.
on;
off.
Используется в случае:
sspi is not None;
sspi == True.
По умолчанию:
ssl_verify_local_crl_only: off ```ssl_verify_ignore_cn
В случае режима GOST определяет, необходимо ли пропускать проверку CN.
Тип параметра: строковое значение.
on;
off.
Используется в случае:
sspi is not None;
sspi == True.
По умолчанию:
ssl_verify_ignore_cn: offssl_session_reuse
В значении параметра определяется, можно ли повторно использовать сеансы ssl/tls при работе с проксируемым сервером.
Используется в случае:
ssl_use is not None.
Тип параметра:
on;
off.
По умолчанию:
ssl_session_reuse: onssl_protocols
В значении параметра задается список разрешенных протоколов, согласованный с безопасностью.
Значение параметра ssl_protocols должно быть уникальным.
Используется в случае:
ssl_use is not None.
Тип параметра:
SSLv2;
SSLv3;
TLSv1;
TLSv1.1;
TLSv1.2;
TLSv1.3.
По умолчанию:
ssl_protocols: - TLSv1 - TLSv1.1 - TLSv1.2ssl_ciphers
В значении параметра задаются разрешенные шифры для взаимодействия с проксируемым сервером https.
Более подробную информацию с описанием шифров и префиксов можно найти в документации OpenSSL.
Используется в случае:
ssl_use is not None;
ssl_ciphers_str is None.
Тип параметра: последовательность параметров и их значения.
По умолчанию:
ssl_ciphers: - value: - "HIGH" - prefix: "!" value: - "aNULL" - prefix: "!" value: - "MD5"Обязательные параметры:
value
В значении параметра определяется используемый шифр.
Значение параметра value должно быть уникальным.
Тип параметра: список разрешенных значений, указанных в конфигураторе, приведен в разделе "Допустимые значения Ciphers_upstream_ssl".
По умолчанию: не имеет значения по умолчанию. Опциональные параметры:
prefix
В значении параметра определяется используемый префикс.
Тип параметра:
"!";
"+";
"-".
По умолчанию: не имеет значения по умолчанию.
ssl_ciphers_str
В значении параметра задается строка включенных шифров для взаимодействия с проксируемым сервером https.
Используется в случае:
ssl_use is not None;
ssl_ciphers is None.
ssl_ciphers_str: HIGH:!aNULL:NULL-SHA256Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_name
В значении параметра можно переопределить имя сервера, используемое для проверки сертификата проксируемого сервера https и его передачи через SNI при установлении соединения с проксируемым сервером https.
Здесь необходимо указать одно из следующих значений:
любое одно значение из SAN сертификата бэкенда;
в случае, если SAN у сертификата бэкенда не объявлено, указываем CN сертификата бэкенда.
Существует возможность использовать внутренние переменные:
$upstream_server_name - имя сервера из конфигурационного файла "as is".
$upstream_server_host - имя хоста (без порта) из конфигурационного файла.
ssl_name: $upstream_server_hostИспользуется в случае:
ssl_use is not None;
ssl_verify: onТип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_name_verify_off
Вкл./Откл. проверки ssl_name. Проверяется сертификат бэкенда по критериям, указанным в параметре ssl_name (совпадение SAN или CN сертификата с значением, указанным в конфигурационном файле). Верификацию ssl_name следует отключать в случае, если бэкенды работают с разными сертификатами и в них указаны разные SAN/CN (т.к. в таком случае непонятно какое значение указывать в ssl_name).
В случае, если верификация отключена, для двустороннего ssl/tls обязательно использовать ssl_dn_verify_trusted_path. Если верификация не отключена, использование ssl_dn_verify_trusted_path необязательно.
Используется в случае:
ssl_use is not None;
ssl_verify: onТип параметра:
on;
off.
По умолчанию:
ssl_name_verify_off: offssl_name_verify_off
Вкл./Откл. проверки ssl_name. Проверяется сертификат бэкенда по критериям, указанным в параметре ssl_name (совпадение SAN или CN сертификата с значением, указанным в конфигурационном файле). Верификацию ssl_name следует отключать в случае, если бэкенды работают с разными сертификатами и в них указаны разные SAN/CN (т.к. в таком случае непонятно какое значение указывать в ssl_name).
В случае, если верификация отключена, для двустороннего ssl обязательно использовать ssl_dn_verify_trusted_path. Если верификация не отключена, использование ssl_dn_verify_trusted_path необязательно.
Используется в случае:
ssl_use is not None;
ssl_verify: onТип параметра:
on;
off.
По умолчанию:
ssl_name_verify_off: offssl_server_name
Вкл./Откл. передачу имени сервера через расширение TLS Server Name Indication (SNI, RFC 6066) при установлении соединения с проксируемым сервером https.
Используется в случае:
ssl_use is not None.
Тип параметра:
on;
off.
По умолчанию:
ssl_server_name: offssl_verify
Вкл./Откл. проверку сертификата проксируемого сервера https.
Используется в случае:
ssl_use is not None.
Тип параметра:
on;
off.
По умолчанию:
ssl_verify: offssl_verify_depth
В значении параметра устанавливается глубина проверки в цепочке сертификатов для проксируемого сервера https. Минимальное значение - "0".
Используется в случае:
ssl_use is not None.
Тип параметра: целочисленное значение.
По умолчанию:
ssl_verify_depth: 1ssl_verify_depth
В значении параметра устанавливается глубина проверки в цепочке сертификатов для проксируемого сервера https. Минимальное значение - "0".
Используется в случае:
ssl_use is not None.
Тип параметра: целочисленное значение.
По умолчанию:
ssl_verify_depth: 1ssl_trusted_certificate
В значении параметра задается файл с доверенными сертификатами ЦС в формате PEM, который используется для проверки сертификата проксируемого сервера https.
Используется в случае:
ssl_use is not None;
ssl_verify is not None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_dn_verify_trusted_path
В значении параметра задается файл с разрешенными регулярными выражениями для верификации DN сертификата backend'a/upstream'a. Все регулярные выражения DN из этого файла сопоставляются с DN сертификата backend'a/upstream'a.
Используется в случае:
ssl_use is not None;
ssl_verify: onТип параметра: строковое значение.
По умолчанию: Не имеет значения по умолчанию.
(2.1) ssl_fingerprint_verify_trusted_path
В значении параметра указывается файл с разрешенными fingerprint'ами сертификата клиента.
Используется в случае:
ssl_use is not None;
ssl_verify: onТип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_crl
В значении параметра указывается файл с отозванными сертификатами (CRL) в формате PEM, который используется для проверки сертификата проксируемого сервера https.
Используется в случае:
ssl_use is not None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_certificate
В значении параметра указывается файл с сертификатом в формате PEM, который используется для аутентификации на проксируемом сервере https.
Используется в случае:
ssl_use is not None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_certificate_key
В значении параметра указывается файл с секретным ключом в формате PEM (секретный ключ от клиентского сертификата SOWA), который используется для аутентификации на проксируемом сервере https.
Используется в случае:
ssl_use is not None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
ssl_password_file
В значении параметра задается файл с ключевыми фразами для секретных ключей, где каждая кодовая фраза указана в отдельной строке.
Используется в случае:
ssl_use is not None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
Пример:
ssl_options:
ssl_use: true
ssl_protocols:
- TLSv1.2
ssl_ciphers:
- value:
- "HIGH"
- prefix: "!"
value:
- "aNULL"
- value:
- "NULL-SHA256"
ssl_certificate: server_dev.cer
ssl_certificate_key: server_dev.key
ssl_name: 'test-0005.example.ru'
ssl_trusted_certificate: ca_dev.cer
ssl_verify: 'on'
ssl_verify_depth: 2
ssl_dn_verify_trusted_path: verify_dn_trusted_path_one
ssl_fingerprint_verify_trusted_path: fingerprints.data