Параметр upstream_ssl#

Группа параметров upstream_ssl предназначена для настройки ssl/tls соединения для взаимодействия с upstream.

Название

Обязательность

Описание

Возможные значения

Значение по умолчанию

ssl_use

Опциональный

Вкл./Откл. поддержка ssl/tls соединения для взаимодействия с upstream

true, false

false

sspi

Опциональный

Вкл./Откл. режим GOST TLS

true, false

false

ssl_verify_local_crl_only

Опциональный (если sspi is not None и sspi == True)

В случае режима GOST определяет, проверять ли статус сертификата локально (иначе проверка осуществляется онлайн)

on, off

off

ssl_verify_ignore_cn

Опциональный (если sspi is not None и sspi == True)

В случае режима GOST определяет, необходимо ли пропускать проверку CN

on, off

off

ssl_session_reuse

Опциональный (если ssl_use is not None)

Определяет, можно ли повторно использовать сеансы ssl/tls при работе с проксируемым сервером

on, off

on

ssl_protocols

Опциональный (если ssl_use is not None)

Список разрешенных протоколов, согласованный с безопасностью. Значение должно быть уникальным

SSLv2, SSLv3, TLSv1, TLSv1.1, TLSv1.2, TLSv1.3

TLSv1, TLSv1.1, TLSv1.2

ssl_ciphers

Опциональный (если ssl_use is not None и ssl_ciphers_str is None)

Разрешенные шифры для взаимодействия с проксируемым сервером https

Последовательность параметров и их значения

HIGH, !aNULL, !MD5

ssl_ciphers.value

Обязательный (в рамках ssl_ciphers)

Используемый шифр. Значение должно быть уникальным

Список разрешенных значений, указанных в конфигураторе (см. раздел «Допустимые значения Ciphers_upstream_ssl»)

—

ssl_ciphers.prefix

Опциональный (в рамках ssl_ciphers)

Используемый префикс

!, +, -

—

ssl_ciphers_str

Опциональный (если ssl_use is not None и ssl_ciphers is None)

Строка включенных шифров для взаимодействия с проксируемым сервером https

Строковое значение, например: HIGH:!aNULL:NULL-SHA256

—

ssl_name

Опциональный (если ssl_use is not None и ssl_verify: on)

Имя сервера, используемое для проверки сертификата проксируемого сервера https и его передачи через SNI. Необходимо указать одно из значений SAN сертификата backend или CN (если SAN не объявлен). Поддерживаются переменные: $upstream_server_name, $upstream_server_host

Строковое значение, например: $upstream_server_host

—

ssl_name_verify_off

Опциональный (если ssl_use is not None и ssl_verify: on)

Вкл./Откл. проверки ssl_name. Отключать, если backend работают с разными сертификатами с разными SAN/CN. При отключенной верификации обязательно использовать ssl_dn_verify_trusted_path

on, off

off

ssl_server_name

Опциональный (если ssl_use is not None)

Вкл./Откл. передачу имени сервера через расширение TLS Server Name Indication (SNI, RFC 6066)

on, off

off

ssl_verify

Опциональный (если ssl_use is not None)

Вкл./Откл. проверку сертификата проксируемого сервера https

on, off

off

ssl_verify_depth

Опциональный (если ssl_use is not None)

Глубина проверки в цепочке сертификатов для проксируемого сервера https. Минимальное значение — 0

Целочисленное значение

1

ssl_trusted_certificate

Опциональный (если ssl_use is not None и ssl_verify is not None)

Файл с доверенными сертификатами ЦС в формате PEM для проверки сертификата проксируемого сервера https

Строковое значение

—

ssl_dn_verify_trusted_path

Опциональный (если ssl_use is not None и ssl_verify: on)

Файл с разрешенными регулярными выражениями для верификации DN сертификата backend/upstream

Строковое значение

—

ssl_fingerprint_verify_trusted_path

Опциональный (если ssl_use is not None и ssl_verify: on)

Файл с разрешенными fingerprint сертификата клиента

Строковое значение

—

ssl_verify_error_code

Опциональный (если ssl_dn_verify_trusted_path is not None или ssl_fingerprint_verify_trusted_path is not None)

Код ответа при неуспешной проверке по DN и fingerprint

Целочисленное значение

—

ssl_crl

Опциональный (если ssl_use is not None)

Файл с отозванными сертификатами (CRL) в формате PEM для проверки сертификата проксируемого сервера https

Строковое значение

—

ssl_certificate

Опциональный (если ssl_use is not None)

Файл с сертификатом в формате PEM для аутентификации на проксируемом сервере https

Строковое значение

—

ssl_certificate_key

Опциональный (если ssl_use is not None)

Файл с секретным ключом в формате PEM (секретный ключ от клиентского сертификата SOWA) для аутентификации на проксируемом сервере https

Строковое значение

—

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