Актуально для сервера документов от версии 7.3.3 и выше
Если вы используете самоподписные сертификаты и в логах nodejs имеется ошибка как в примере:
[ERROR] [localhost] [conv_66bfef92-aeec-47ae-b4e4-aff37ff3d619_pdfa] [userId] nodeJS - error downloadFile:url=https://s9500ldztweb01.domain.local/LanDocs.Convert.Api/api/v1/convert/jobs/e5dc77ca-9805-4be0-abd8-642ef11e71ce/source/e5dc77ca-9805-4be0-abd8-642ef11e71ce.docx;attempt=1;code:SELF_SIGNED_CERT_IN_CHAIN;connect:undefined Error: self signed certificate in certificate chain at TLSSocket.onConnectSecure (_tls_wrap.js:1514:34) at TLSSocket.emit (events.js:400:28) at TLSSocket._finishInit (_tls_wrap.js:936:8) at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:708:12)
То необходимо выполнить ряд действий.
Документ сервер по умолчанию использует свой список доверенных сертификатов, который создаётся в момент сборки платформы NodeJS.
Чтобы добавить свой корневой сертификат в доверенные для Р7-Офис сервер документов, необходимо выполнить следующие действия:
1. Корневой сертификат, в формате pem, разместите в доступном для DS каталоге, например /var/www/r7-office/Data/certs/rootCA.pem
2. Измените файлы конфигурации, добавьте в environment параметр NODE_EXTRA_CA_CERTS=/var/www/r7-office/Data/certs/rootCA.pem
2.1 Откройте конфигурационный файл /usr/lib/systemd/system/ds-docservice.service
Внутри файла добавьте через пробел запись:
NODE_EXTRA_CA_CERTS=/var/www/r7-office/Data/certs/rootCA.pem
Пример:
Environment=NODE_ENV=production-linux NODE_CONFIG_DIR=/etc/r7-office/documentserver NODE_DISABLE_COLORS=1 APPLICATION_NAME=R7-Office NODE_EXTRA_CA_CERTS=/var/www/r7-office/Data/certs/rootCA.pem
2.2. Аналогично необходимо внесите изменения в конфигурационный файл ds-converter.service
/usr/lib/systemd/system/ds-converter.service
Добавьте через пробел запись:
NODE_EXTRA_CA_CERTS=/var/www/r7-office/Data/certs/rootCA.pem
Пример:
Environment=NODE_ENV=production-linux NODE_CONFIG_DIR=/etc/r7-office/documentserver NODE_DISABLE_COLORS=1 APPLICATION_NAME=R7-Office NODE_EXTRA_CA_CERTS=/var/www/r7-office/Data/certs/rootCA.pem
3. Выполните перезапуск служб:
systemctl daemon-reload systemctl restart ds-*
Так же рекомендуется установить полную цепочку сертификатов для nginx, для этого:
Добавьте в файл /var/www/r7-office/Data/certs/r7-office.crt
цепочку сертификатов, пример:
----BEGIN CERTIFICATE----- (Your Primary SSL certificate: your_domain_name.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (Your Intermediate certificate: DigiCertCA.crt) -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- (Your Root certificate: TrustedRoot.crt) -----END CERTIFICATE-----
Для проверки конфигурации nginx:
nginx -t
После выполните команду:
service nginx restart