Ошибка SSL при синхронизации exchange-sync c Exchange (unsafe legacy renegotiation disabled)

Ошибка SSL при синхронизации exchange-sync c Exchange (unsafe legacy renegotiation disabled)

Вопросы и ответы по серверу BOOCO Astra (v 2.x)

Проблема:

При синхронизации в микросервисе exchange-sync присутствует ошибка SSL

[Nest] 1  - 07/26/2024, 1:08:04 PM   ERROR [SyncService] Synchronization error: write EPROTO 80F87D3EA87F0000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:../deps/openssl/openssl/ssl/statem/extensions.c:921:
[Nest] 1  - 07/26/2024, 1:08:04 PM VERBOSE [SyncService] write EPROTO 80F87D3EA87F0000:error:0A000152:SSL routines:final_renegotiate:unsafe legacy renegotiation disabled:../deps/openssl/openssl/ssl/statem/extensions.c:921:
[Nest] 1  - 07/26/2024, 1:08:04 PM VERBOSE [SyncService] undefined
[Nest] 1  - 07/26/2024, 1:08:04 PM   DEBUG [SyncService] Sync finished, elapsed: 157 ms

Решения:

  1. Создать файл openssl.cnf с содержимым в корне директории микросервиса exchange-sync (обычно /opt/exchange-sync):
nodejs_conf = openssl_init

[openssl_init]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
Options = UnsafeLegacyRenegotiation
  1. Прикрепить файл openssl.cnf через volumes в docker-compose.yml
    volumes:
      - ./openssl.cnf:/data/openssl.cnf
  1. В файле .env микросервиса exchange-sync добавить переменную, указывающую на путь к файлу, OPENSSL_CONF=/data/openssl.cnf
  2. Перезапустить микросервис exchange-sync:
sudo docker compose down
sudo docker compose up -d