Как настроить публикацию базы 1С на веб-сервере с https и защитой


Работа с информационной базой 1С может осуществляться разными способами: через клиентское приложение или веб-браузер. Использование веб-доступа позволяет работать с базой без необходимости устанавливать дополнительное ПО, что делает процесс удобнее и быстрее. В данной статье рассмотрим, как правильно настраивать публикацию базы 1С на веб-сервере с HTTPS-защитой.
Разберем процесс установки и настройки веб-сервера Apache на платформе Windows или Linux, а также подробно рассмотрим конфигурацию SSL-сертификатов и редирект HTTP на HTTPS.
Подготовка к публикации базы 1С
Установка сервера 1С и создание базы
Перед началом публикации необходимо установить сервер 1С и создать информационную базу. Подробно мы описывали это в нашей статьеРазвертывание сервера 1С на Linux: полный гайд на примере Astra Linux.
Отметим, что для того, чтобы выполнить публикацию базы при установке 1С, необходимо выбрать пункт «Модули расширения веб-сервера»
В данной статье рассмотрим публикацию базы 1С на веб-сервере с уже установленной ОС Astra Linux 1.7.6.
Установка и настройка веб-сервера Apach
Для публикации базы нам потребуется веб-сервер Apache. Установить его можно с помощью команды:
Sudo apt install apache2
После установки необходимо проверить его работоспособность. Если при обращении через браузер возникает ошибка 500 Internal Server Error, вам необходимо сделать следующее:
В файле /etc/apache2/apache2.conf найти параметр AstraMode,раскомментировать его и установить значение в off
Данный параметр отвечает за обязательную авторизацию при подключении к веб-серверу. В нашем примере она будет отключена. Более подробно про настройку предварительной аутентификации в Apache вы можете прочитать в базе знаний разработчика.
Перезагрузим Apache, чтобы применить изменения.
Sudo systemctl restart apache2
Теперь при проверке работоспособности мы видим стартовую страницу Apache
Публикация базы 1С в каталоге Apache
Теперь выполним публикацию информационной базы. В нашем примере мы будем публиковать как подкаталог для стандартного сайта Apache.
Для этого перейдем в каталог 1С по пути /opt/1cv8/x86_64/8.3.26.1521, где 8.3.26.1521 - версия сервера 1С.
Опубликуем базу командой
./webinst -apache24 -wsdir webdb -dir /var/www/webdb -connstr "Srvr=192.168.100.9;Ref=webdb;" -confPath /etc/apache2/sites-available/000-default.conf
Здесь одним из важных параметров является –apache24, указывающий на версию веб-сервера, на котором выполняется публикация. Проверить версию Apache можно при помощи команды sudo apache2 –v
Рассмотрим так же и другие параметры:
-wsdir – имя, по которому база будет доступна в браузере
-dir – путь публикации
-connstr – строка подключения к информационной базе 1C. В случае, если бы у нас была файловая база, то значение параметра было бы изменено на "File=" "<путь к базе данных на сервере>" ";"
–confPath – путь до конфигурационного файла apache. Мы выбрали предустановленный файл сайта по умолчанию.
Если все параметры были указаны верно, то команда для публикации выведет в консоль сообщение: Публикация выполнена. После этого наша база доступна по адресуhttp://<IP-адрес сервера/webdb>
Выполним проверку работоспособности локально с сервера 1С
Как видно, публикация выполнена верно и теперь перейдем к настройке доступа к информационной базе 1С по протоколу HTTPS.
Настройка HTTPS-доступа для базы 1С
1. Для защиты данных необходимо настроить соединение HTTPS с использованием SSL-сертификатов. В демонстрационных целях создадим самоподписанный сертификат с помощью OpenSSL. Если база 1С размещена в интернете, лучше использовать сертификаты от Let’s Encrypt.
Создадим сертификат и ключ:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt
При генерации сертификата укажите необходимые параметры. В нашем случае мы создали сертификат для внутреннего IP нашего сервера 1C
2. Выполним настройку веб-сервера Apache для поддержки работы с SSL. Проверим, что у нас включен модуль, ответственный за работу с SSL командой sudo apachectl –M | grep ssl. Если вывод команды - ssl_module (shared), то всё хорошо. Если нет, то нужно включить модуль ssl командой sudo a2enmod ssl
Перезагрузим Apache для применения изменений
sudo systemctl restart apache2
Перепроверим, что модуль ssl включен:
sudo a2enmod ssl
Теперь выполним изменения в конфигурационном файле apache2.conf, включив поддержку SSL
sudo vi /etc/apache2/apache2.conf
Добавим модуль SSL и его конфигурацию при помощи директив
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
Include /etc/apache2/modules-available/ssl.conf
Снова перезагрузим Apache2
sudo systemctl restart apache2
Конфигурация Apache для HTTPS
1. Изменим конфигурационный файл для переключения сайта с HTTP на HTTPS. Для этого отредактируем конфигурационный файл нашего сайта, где мы размещаем нашу базу.
sudo nano sites-available/000-default.conf
В открывшемся файле сделаем следующие изменения:
- Изменим порт подключения к сайту с 80 на 443
- Добавим следующие параметры:
- SSLEngine on
- SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
- SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
- ServerName 192.168.100.9
Параметр ServerName должен совпадать с тем, что был указан при генерации сертификата.
2. Выполним проверку конфигурационного файла на наличие ошибок
sudo apache2ctl configtest
В случае, если всё верно, то перечитаем конфигурационный файл нашего сайта
sudo systemctl reload apache2.service
Перейдем в браузере по адресу размещения нашей базы https://192.168.100.9/webdb и мы видим, что она доступна теперь по HTTPS, но соединение всё равно не защищено. Это говорит о том, что наш сертификат не подписан ни одним центром сертификации, и браузер не считает его доверенным.
Настройка редиректа с HTTP на HTTPS
И в завершение выполним настройку редиректа с HTTP на HTTPS. Для этого отредактируем конфигурационный файл Apache2
sudo nano /etc/apache2/sites-available/000-default.conf
Добавим в него новый virtual host, прослушивающий порт 80 tcp и перенаправляющий весь трафик с http на https
<VirtualHost *:80>
ServerName 192.168.100.9
Redirect / https://192.168.100.9/
</VirtualHost>
Перечитываем конфигурацию командой sudo systemctl reload apache2.service
Теперь все HTTP-запросы будут автоматически переадресовываться на HTTPS.
Заключение
В данной статье мы рассмотрели, как правильно настраивать веб-доступ к базе 1С с использованием Apache и SSL-защиты. Настроив HTTPS, вы обеспечите безопасное соединение, защитите данные от перехвата и повысите доверие пользователей к вашему сервису.
Если хотите избавиться от сложностей настройки серверной инфраструктуры, рассмотрите облачное размещение 1С в mClouds. Наши серверы с процессорами AMD EPYC 9374F с частотами до 4.1 GHz и Intel Xeon Gold 6254/6354 до 3.9 ГГц обеспечивают стабильную и надежную работу 1С в облаке. А техническая поддержка поможет с миграцией данных и выбором оптимальной конфигурации.

Как установить сервер 1С на Astra Linux: разбираем процесс пошагово, рассматриваем настройку ключей HASP и даем советы по администрированию.
20 февраля, 2025
Как оптимизировать СУБД для 1С с использованием PostgreSQL и MSSQL: рассказываем о настройках, которые улучшат производительность и стабильность работы серверов
10 января, 2025
Приглашаем на вебинар «Производительность 1С: Intel vs AMD — что эффективнее?». Инженеры mClouds подготовили практические советы по оптимизации серверов.
28 ноября, 2024