1С Предприятие + Apache + SSL от Let’s Encrypt!

Приветствую, Коллега!

Решил написать подробную статью о том, как защитить 1С Предприятие на веб сервере Apache.

Причем сделаем мы это бесплатно, используя сертификат от Let’s Encrypt!

Работу будем выполнять на Windows Server 2019. (Так как на Linux инструкций полно!) .

Предполагается, что «Информационная база» у Вас уже опубликована на веб сервере, «проброшены» порты 80 и 443 и внешнее доменное имя «привязано» к вашему статическому IP!

1С Предприятие (Информационная база), само собой уже опубликована на веб сервере и доступна по http.

К слову, все подготовительные работы, как и другие подробности на данную тему, можно посмотреть здесь >>

Да, если VPN нет возможности «поднять», или есть опасения, что трафик будет перехвачен, тогда действительно, стоит зашифровать подключение между «клиентом» и «сервером» используя протокол https!

1С Предприятие на веб сервере Apache (как и IIS) без https, крайне не рекомендую «выпускать наружу» ОПАСНО!

 

И так начинаем!

Первым делом, скачаем консольную утилиту «Win-acme».

При помощи нее мы и получим SSL сертификат, что нужен нам для организации «шифрованного соединения»,  простыми словами https!

https://www.win-acme.com/

win-acme

После того как утилита “Win-acme” уже будет находится у нас на диске, мы приступим к дальнейшей подготовке.

Создадим себе каталог на диске, где установлен веб сервер Apache (У меня это директория C:\APACHE\Cert)

C:\APACHE\Cert

 

В этой папке “Cert” мы и будем держать сертификаты для веб сервера Apache.

Теперь запускаем утилиту “Win-acme” (От имени Администратора) для создания этих сертификатов в директории “Cert”.

Придерживаясь инструкций ниже, мы получим все необходимое для организации https.

Первым пунктом выбираем “Create сertificate (full options)” поставив букву M и кликнув Enter

Затем пишем 2 – “Manual input” – Enter

Укажем имя домена (реального домена, так как будет проверка).

У меня это web.kuharbogdan.com

Далее просто давим “Enter”

На следующем шаге – 2 “[http-01] Serve verification files from memory”

[http-01] Serve verification files from memory

 

Выбираем RSA key, пункт также 2

Сертификаты у нас в PEM формате, и мы также выбираем соответствующий пункт: PEM encoded files (Apache, nginx, etc.)

Выбор 2

На следующем шаге, укажем расположение папки “Cert”, куда следует записать сертификаты:

 

Давим “Enter”

И на этом наша работа почти закончена!

 

Выбираем пункт 5 – (No additional) store steps, так как нам больше ничего не требуется от утилиты!

И затем пункт 4 (Так как программа предлагает нам настроить “перевыпуск” сертификата и прочие).

Не забываем, что сертификат от Let’s Encrypt действует 3 мес, потом его повторно надо получить (Перевыпустить).

На следующем шаге, также “Отказ” пишем N + Enter

И наконец Q – Выход

 

Теперь убедимся, что все сертификаты получены!

Откроем наш каталог “Cert”

Супер! Все сертификаты у нас! Нам осталось только их подключить + внести пару правок в “конфиги” веб сервера Apache!

Открываем C:\APACHE\conf\httpd.conf

И первое что мы сделаем, так это укажем порт для SSL – наш 443 TCP/IP вместо 80.

Listen 443

 

После чего, раскомментируем модуль LoadModule ssl_module modules/mod_ssl.so

А также раскомментируем конфиг, где будут настройки SSL

Include C:/APACHE/conf/extra/httpd-ssl.conf

На этом мы прощаемся с httpd.conf, сохраняем файл и переходим к редактированию httpd-ssl.conf

C:\APACHE\conf\extra\httpd-ssl.conf

Первым делом, закомментируем 443 порт, мы его указали в httpd.conf

Также закомментируем пути к логам (Если вы в “продакшн” выполняете данную настройку, тогда рекомендую создать файлы для записи логов и указать пути к ним!)

Мы вести запись ошибок веб сервера Apache не будем, (Для теста этого достаточно!).

Комментируем #SSLSessionCache “shmcb:${SRVROOT}/logs/ssl_scache(512000)”

Комментируем <VirtualHost _default_:443>

И блок сразу ниже, также:

 

Затем идут директивы которые нам нужны, но не по всему же конфигу )

Закомментируем их, и затем в самом низу, пропишем снова, так будет удобнее!

#SSLEngine on

#SSLCertificateFile “${SRVROOT}/conf/server.crt”

#</VirtualHost>

Вот и все!

Осталось указать только пути к PEM сертификатам!

 

SSLEngine on
SSLCertificateFile “C:/APACHE/Cert/web.kuharbogdan.com-crt.pem”
SSLCertificateKeyFile “C:/APACHE/Cert/web.kuharbogdan.com-key.pem”
SSLCertificateChainFile “C:/APACHE/Cert/web.kuharbogdan.com-chain.pem”

 

Сохраняем конфиг и выполняем перезапуск веб сервера Apache.

 

Проверяем работу в браузере!

Все получилось! Есть https для информационной базы 1С!

Проверим сертификат (Для того, чтоб убедиться, что все ок):

 

Работа успешно завершена!

Если у Вас возникли сложности, тогда посмотрите это видео, там есть все возможные детали, которые не попали в статью!

Если Вы хотите больше узнать о технической стороне 1С, тогда регистрируйтесь на первый бесплатный модуль курса: Администратор 1С >>>

С уважением, Богдан.

 

Курс: Администратор 1С

Скидка 40% до 31.07.2025!

  • Научитесь правильно администрировать 1С
  • Получите начальные знания по программированию
  • 246 уроков и 53 часа видео
  • Домашние задания с проверкой
  • Пожизненный доступ
  • Поддержка тренера
Изображение курса Администратор 1С

Оставьте ответ

База знаний 1С