При переводе Р7-Офис. Корпоративный сервер на протокол HTTPS с помощью собственного сертификата, необходимо добавить в доверенные корневой сертификат на все сервера и на все ПК пользователей, которые будут работать с данным сервером.
Для добавления корневого сертификата в доверенные на Linux:
Скопируйте корневой сертификат с расширением «crt» в папку /usr/local/share/ca-certificates/
и выполните команду
sudo update-ca-certificates -v
Для добавления корневого сертификата в доверенные на ОС Windows:
Если вы используете fullchain сертификат («полная цепочка»), проверьте порядок входящих сертификатов. Пример:
----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-----
Где
- Основной Certificate — your_domain_name.crt
- Промежуточный Certificate — DigiCertCA.crt
- Корневой Certificate — TrustedRoot.crt
Корпоративный сервер по умолчанию использует свой список доверенных сертификатов, который создаётся в момент сборки платформы NodeJS.
Чтобы добавить свой корневой сертификат в доверенные воспользуйтесь одним из двух вариантов:
1. Вариант — Добавьте параметры для запуска службы:
1.1. Откройте r7-officeSsoAuth.service
файл
nano /lib/systemd/system/r7-officeSsoAuth.service
1.2. Добавьте следующую строку, указывающую путь к корневому сертификату, в конце блока «[Service]»:
Environment=NODE_EXTRA_CA_CERTS=/etc/rootCA.pem
Где /etc/rootCA.pem
— путь до корневого сертификата, а rootCA.pem — корневой сертификат
1.3. Перезапустите службы:
systemctl daemon-reload systemctl restart r7-officeSsoAuth
2. Вариант — Использовать системный пакет сертификатов:
2.1. Откройте r7-officeSsoAuth.service
файл
nano /lib/systemd/system/r7-officeSsoAuth.service
2.2. Найдите следующую строку в блоке «[Service]»:
ExecStart=/usr/bin/node /var/www/r7-office/Services/ASC.SsoAuth/app.js R7-OFFICE.UNIX.SERVER
Замените его следующим:
ExecStart=/usr/bin/node --use-openssl-ca /var/www/r7-office/Services/ASC.SsoAuth/app.js R7-OFFICE.UNIX.SERVER
2.3. Для CentOS и RedOS дополнительно добавьте следующую строку в конце блока «[Service]», указывающую путь к пакету сертификатов
Environment=SSL_CERT_FILE=/etc/pki/tls/certs/ca-bundle.trust.crt
2.4. Перезапустите службы:
systemctl daemon-reload systemctl restart r7-officeSsoAuth