ПРАКТИКА
Как заменить или обновить SSL сертификат на сервере

В этой статье мы ответим на довольно частый вопрос пользователей: как заменить или обновить (продлить) SSL сертификат для веб-сервера NGINX, используемого в системе 3CX.

3CX
22.09.2017
Прежде всего, рассмотрим, для чего может потребоваться получение, замена или обновление сертификата:

  • Вы используете собственное имя домена для 3CX (вида pbx.mybusiness.com). 3CX версии 15 и выше требуют обязательного наличия доверенного (подписанного) SSL сертификата.
  • Вы решили перейти с FQDN, выданного 3CX (вида mybusiness.3cx.eu), на собственное доменное имя.
  • Вы обновляете систему с предыдущих версий 3CX и должны использовать доверенный сертификат (в 3CX 15 и выше допустимы только доверенные сертификаты).
  • Вы решили отказаться от подписки на обновления 3CX (Maintenance). Мы не рекомендуем отказываться от обновлений, т.к. это может повлиять на качество функционирования вашего бизнеса (и экономия может привести к гораздо большим потерям). Однако, в этом случае вам необходимо перевести 3CX на собственное доменное имя, т.к. без подписки на обновления прекращается поддержка FQDN и SSL сертификата от 3CX.
Мы рассмотрим саму процедуру получения сертификата и установки его на уже работающий сервер. Т.е., предполагается, что FQDN сервера не изменяется, и все, что нужно сделать — обновить сертификат.

Получение сертификата Let's Encrypt

Получить доверенный сертификат Let's Encrypt можно разными способами, в том числе и автоматически. Однако мы рассмотрим только получение вручную через сервис https://zerossl.com. Конечно, вы можете приобрести платный сертификат у выбранного поставщика, но сертификаты Let's Encrypt бесплатны и используются многими производителями ПО и оборудования, в том числе, компанией 3CX (генерируются и выдаются вам автоматически при действующей подписке на обновления).
Зайдите на https://zerossl.com и перейдите в Online Tools — Zero SSL Certificate Wizard.

Укажите FQDN сервера, для которого будет сгенерирован сертификат, выберите DNS verification, примите условия сервиса и нажмите Next. Опционально можно указать свой e-mail. Будет сгенерирован запрос на сертификат. Затем нажмите Next еще раз, и будет сгенерирован секретный ключ. Скачайте файлы CSR и Account Key (они вам пригодятся в будущем).

Далее необходимо пройти DNS верификацию, т.е. подтвердить, что выбранный FQDN сервера принадлежит именно вам. Для этого на вашем DNS сервере (часто это делается у хостинг-провайдера) добавьте указанную TXT запись и подождите некоторое время, чтобы прошло обновление DNS кэша.

Ваш сертификат готов. Скачайте его и секретный ключ на компьютер и переименуйте их по такой схеме:

  • domain-key.txt > pbx.mybusiness.com-key.pem
  • domain-crt.txt > pbx.mybusiness.com-crt.pem, где pbx.mybusiness.com — FQDN имя сервера 3CX, указанное в мастере генерации сертификата.
Имея файлы сертификатов, приступим к их установке.
      Установка сертификата на сервер 3CX

      Если вы устанавливаете новую систему, то на соответствующем этапе Мастера первоначальной настройки просто укажите сертификат и ключ.

      Если сервер уже установлен и работает, зайдите на него и перейдите в папку:


      • Windows: C:\Program Files\3CX Phone System\Bin\nginx\conf\instance1
      • Linux: /var/lib/3cxpbx/Bin/nginx/conf/Instance1

      Вы должны видеть 3 файла, как показано на скриншоте.

      Внимание: если вы видите 5 файлов, значит используются FQDN и сертификат от 3CX. В этом случае ничего менять не нужно!

      Перезапишите имеющиеся файлы вашими файлами. После этого перезапустите сервис NGINX. В системе Windows он называется 3CXPhoneSystem Nginx Server.
      Теперь, зайдя в интерфейс 3CX, вы можете посмотреть параметры нового сертификата.
      Как видим, сертификат действителен в течении 3 месяцев. Имейте это ввиду, чтобы не забыть вовремя его продлить!
      Вам это интересно? Нуждаетесь в консультациях, обращайтесь в iTechGroup.