Существует множество причин, по которым может возникнуть необходимость организации доступа к базе через web. Например, для организации доступа к базе из Интернета, для организации обменов с базой 1С через http или web сервисы, для работы с файловой базой в многопользовательском режиме по локальной сети – все это даст значительный прирост производительности по сравнению с доступом к файлу базы данных через общую сетевую папку. Для организации такого доступа к базе, потребуется стороннее ПО в виде веб-сервера. Базы 1С могут быть опубликованы на веб серверах IIS и Apache. Далее рассмотрим установку и настройку перечисленных веб серверов и порядок публикации баз 1С на каждом из них. Если у вас веб сервер уже установлен и настроен, тогда можете переходить сразу к публикации.
Для выполнения публикации базы 1С на веб сервере IIS для начала потребуется установить и настроить сам веб-сервер. Дистрибутив данного веб-сервера уже входит в состав операционной системы Windows. Для правильной работы опубликованной базы 1С достаточно компонентов "Расширения ISAPI" ("ISAPI Extensions") и "Фильтры ISAPI"("ISAPI Filters"). Однако для более удобного управления веб-сервером потребуется также установить и "Консоль управления IIS" ("IIS Managment Console"). Расположение данных компонентов в зависимости от операционной системы может отличаться, наша задача их найти и установить.
В Windows 10 для их установки требуется открыть панель управления (Control panel) и выбрать пункт меню Программы – Программы и компоненты (Programs – Programs and features) и нажать на кнопку "Включение или отключение компонентов Windows" ("Turn Windows features on or off").
В открывшемся окне найти и отметить галочкой компоненты: Расширения ISAPI(ISAPI Extensions), Фильтры ISAPI(ISAPI Filters), Консоль управления IIS(IIS Managment Console) и нажать ОК:
Настройка компонент для Windows Server 2012 R2, Windows Server 2016 и Windows Server 2019 одинаковая, и все настройки производятся в диспетчере серверов (Server Manager).
Откройте диспетчер серверов (Server Manager) и нажмите Управление – Добавить роли и компоненты (Manage – Add Roles and Features).
В ответ на нажатие откроется окно мастера добавления ролей и компонентов (Add Roles and Features).
В этом окне нажмите два раза "Далее" ("Next"), пока мастер не переключится на страницу ролей сервера (Server Roles).
Во вкладке роли сервера (Server Roles) установите флажок "Web Server IIS". Так как эта роль зависит от другой роли ([Tools] IIS Management Console), то будет предложено установить ее дополнительно. Это можно сделать с помощью нажатия кнопки "Добавить компоненты" (Add Features) в открывшемся окне. После чего нажимаем кнопку "Далее" ("Next"), пока мастер не дойдет до вкладки "Выбор служб ролей". На этой вкладке нужно найти пункт "Разработка приложений"("Application Development") и выбрать в нем пункты "ISAPI Extensions" и "ISAPI Filters".
Как только закончите с установкой флажков нажимайте "Далее" ("Next") и "Установить" ("Install").
На этом установка необходимых компонентов веб-сервера завершена.
После установки веб-сервера можно переходить непосредственно к публикации информационной базы. Для этого заходим в конфигуратор нужной базы, предварительно запустив программу 1С от имени администратора. Далее выбираем пункт "Администрирование" - "Публикация на веб-сервере". Придумываем имя для нашей публикации, например, "test_1c_iis", проверяем что правильно определился веб сервер - "Internet Information Services", каталог оставляем по умолчанию и жмем "Опубликовать".
Соглашаемся на перезапуск веб-сервера и переходим к проверке корректности публикации. Для проверки доступности опубликованной базы нужно сформировать путь к ней. Если не были внесены дополнительные настройки на веб сервере, то путь будет иметь следующий вид: http://<Имя веб сервера>/<Имя публикации> Имя вашего веб сервера, где производилась его установка (например, server1) Имя публикации базы (которое было указано в окне настройки публикации). Для таких параметров ссылка будет иметь вид:
Обратите внимание, что если выполняется публикация файловой базы, то:
Вставляем в браузер сформированную ссылку на публикацию. Если база открылась, значит публикация выполнена корректно.
Первым делом необходимо скачать и установить веб-сервер. Список доступных реализаций можно найти на официальном сайте производителя по ссылке, а в статье будет использован самый первый из списка дистрибутивов. Он поставляется в виде zip-архива без инсталлятора. Поэтому нужно скачать архив и разархивировать в "C:\Program Files" или "C:\Program Files (x86)" в зависимости от того, какую разрядность вы выбрали. Потом нужно открыть каталог, куда вы распаковали архив и найти в нем папку "conf", а в ней конфигурационный файл веб сервера - "httpd.conf". Далее в конфигурационном файле (у меня он лежит по пути "C:\Program Files (x86)\Apache24\conf\httpd.conf") необходимо отредактировать путь к корневому каталогу веб сервера. Для этого находим переменную SRVROOT и прописываем путь к каталогу, куда мы распаковали архив, в моем случае это "C:\Program Files (x86)\Apache24".
Далее откройте командую строку от имени администратора. Самый простой вариант – это открыть меню Пуск и ввести cmd. После того, как приложение будет найдено щелкнуть по нему правой кнопкой мыши и выбрать пункт меню "Запустить от имени Администратора" ("Run as Administrator").
В командной строке переходим в директорию распакованного Apache с помощью команды cd. Например:
cd "C:\Program Files (x86)\Apache24\bin"
и вводим команду:
httpd.exe -k install
Это установит службу Apache, которой можно будет управлять в окне служб.
На этом установка Apache завершена. Осталось только опубликовать информационную базу.
Процесс аналогичен публикации баз на IIS, который описан выше, однако следует обратить внимание на то, что каталог по умолчанию не заполняется. Создайте пустой каталог на диске и укажите путь к нему. Также нужно проверить, что указан правильный веб-сервер, а именно "Apache 2.4". После чего жмите кнопку "Опубликовать".
Проверить доступность публикации можно тем же способом, как делали для IIS. Также необходимо дать права пользователю, от лица которого запускается Apache, на каталог bin файлов конкретной версии системы «1C:Предприятие» (чтение и выполнение) и каталог информационной базы (чтение и запись, в случае файлового варианта).
Теперь имея ссылку на публикацию мы можем работать с базой через браузер или через тонкий клиент, прописав путь к публикации. Однако нужно учитывать, что при текущих настройках доступ публикации будет только из локальной сети. Для того чтобы опубликованная база была доступна за рамками локальной сети нужно выполнить ряд шагов:
Следует учитывать, что данные действия должны быть выполнены заранее. Пункты 1,2,4 могут быть выполнены заказчиком самостоятельно. Пункт 3 и 5 выполняется системным администратором заказчика или сторонней организацией на платной основе, например, можно посоветовать клиенту обратиться к нашей обслуживающей организации.
Только после выполнения вышеописанных шагов можно приступить к настройке веб-сервера, для организации доступа к опубликованной базе из интернета.
Стоит сказать, что вместо покупки SSL-сертификата, есть возможность его получить и другими способами. Например, можно самостоятельно сгенерировать самоподписанный сертификат или выпустить бесплатный временный сертификат с помощью стороннего сервиса. О всех недостатках и преимуществах данных способов в таблице ниже:
Сертификат |
Преимущества |
Недостатки |
Платный |
Выпущен аккредитованным центром сертификации. Ему доверяют все браузеры. Автоматически продлевается |
Выдается на платной основе, выпуск происходит не моментально, нужно ждать обработки заказа |
Самоподписанный |
Быстрый самостоятельный выпуск. Можно выпустить на длительный срок |
Нет доверия от всех браузеров. Чтобы браузер ему доверял, требуется его включение в список доверенных всем пользователям, которые будут работать с опубликованными базами |
Временный |
Быстрый самостоятельный выпуск. Доверяют большинство браузеров |
Срок действия 90 дней, после чего требуется его перевыпуск |
Если у клиента уже есть купленный сертификат, нужно его запросить и добавить его в настройках веб сервера. Как это сделать, будет рассказано ниже. Если сертификата нет, и недостатки сертификатов, выпущенных альтернативными способами, для клиента несущественны, тогда можно приступить к выпуску самоподписанного или временного сертификата.
Алгоритм выпуска самоподписанного сертификата для IIS и Apache различается.
IIS сам включает в себя нужные средства для выпуска самоподписанного сертификата. Для этого откройте окно Диспетчера служб IIS (Internet Information Services (IIS) Manager) и выделите сервер в списке Подключений (Connections). После этого нажмите на ссылку "Сертификаты сервера" ("Server Certificates").
В этом же окне мы можем добавить уже купленный ранее сертификат или сгенерировать новый. Для импорта существующего сертификата нужно нажать ссылку "Импортировать (Import)", указать путь к сертификату в формате ".pfx" и пароль от него:
Обратите внимание, что добавить мы можем только сертификаты с расширением ".pfx". Что делать в случае, если нет сертификата нужного формата, будет описано позже.
Для создания самоподписанного сертификата нужно нажать "Создать самозаверенный сертификат…" ("Create Self-Signed Certificate…").
В окне мастера создания самоподписанного сертификата остается указать только произвольное название сертификата. В большинстве случаев, во избежание путаницы, лучше явно указывать в качестве значения "Полное имя сертификата" ("Specify a friendly name for the certificate") адрес сервера, на котором расположен сервер IIS.
Для того, чтобы при подключении пользователей к опубликованной базе браузер не ругался на сертификат, требуется его выгрузить и отправить пользователю, чтобы он его себе установил в список доверенных сертификатов.
На этом процесс создания самоподписанного сертификата в IIS завершен. Для того чтобы опубликованная база открывалась по протоколу HTTPS нужно указать сертификат в настройках сайта. Для этого выделяем сайт по умолчанию (Default Web Site), жмем на ссылку "Привязки". Как мы видим в данный момент наш сайт доступен только по протоколу HTTP на 80 порту. Нам нужно добавить новую привязку, для того чтобы все публикации на этом сайте были доступны также и по протоколу HTTPS.
При добавлении новой привязки нам нужно выбрать только протокол HTTPS и выбрать сгенерированный ранее сертификат.
На этом настройка веб сервера IIS для работы по протоколу HTTPS завершена. Если на маршрутизаторе выполнены все настройки, о которых было упомянуто выше, то база должна успешно открыться по защищенному каналу. Ее ссылка будет формироваться по следующему принципу: https://<имя купленного домена>/<имя публикации>
В отличии от IIS, сертификат для Apache выпускается с помощью стороннего программного обеспечения OpenSSL. По умолчанию в операционной системе Windows его нет. Поэтому его нужно скачать и установить самостоятельно. Возможные дистрибутивы OpenSSL для Windows указаны на wiki- странице официального сайта. В статье рассматривается дистрибутив по ссылке, который указан первым на странице wiki. После скачивания дистрибутива установки необходимо его запустить.
На первой странице нужно согласиться с условиями лицензионного соглашения (переключить переключатель на "I accept the agreement") и нажать кнопку "Next".
Мастер переключится на страницу размещения дистрибутива. Если местоположение не планируется изменять, то можно оставить поле в значении по умолчанию и нажать кнопку "Next".
На следующем шаге ничего менять не нужно, и можно просто нажать "Next".
Дистрибутив готов к установке. Нужно нажимать кнопку "Install" и дождаться завершения установки.
Финальный шаг – это страница пожертвований в пользу поддержки проекта. Если в планы не входит перечисление пожертвований, то необходимо снять все флажки и нажать кнопку Finish.
Далее потребуется открыть командную строку от имени администратора и перейти в директорию исполняемого файла OpenSSL(у меня это "C:\Program Files\OpenSSL-Win64\") командой:
cd "C:\Program Files\OpenSSL-Win64\bin"
потом нужно выполнить команду ниже (параметры "-keyout" и "-out" содержат пути, куда будут сгенерированы сертификаты, рекомендую использовать путь как в примере. Также вместо "myserver" рекомендуется использовать реальное имя сервера):
openssl.exe req -x509 -nodes -days 365 -newkey rsa:2048 -keyout "C:\Program Files (x86)\Apache24\conf\ssl\myserver.key" -out "C:\Program Files (x86)\Apache24\conf\ssl\myserver.crt"
Во время выполнения команды необходимо будет заполнить информацию о владельце сертификата. Обязательно нужно заполнить "Common Name (e.g. server FQDN or Your bane)", остальные поля можно оставить по умолчанию. После выполнения команды в указанном вами каталоге должны появиться сгенерированные сертификаты.
Для включения протокола HTTP на веб-сервере, нам потребуется снова открыть конфигурационный файл "httpd.conf" и раскомментировать строки ниже путем удаления символа решетки (#) в начале строки:
Еще необходимо убедиться, что раскомментирована строка "Include conf/extra/httpd-ahssl.conf"
Теперь осталось только прописать путь к сгенерированным сертификатам в файле httpd-ahssl.conf. У меня полный путь к нему такой: "C:\Program Files (x86)\Apache24\conf\extra\httpd-ahssl.conf". В нем мы ищем параметры "SSLCertificateFile" и "SSLCertificateKeyFile", где указываем путь к сгенерированным ранее сертификатам с расширением ".crt" и ".key". Так как мы генерировали сертификаты в "C:\Program Files (x86)\Apache24\conf\ssl\" и указывали ранее путь к корневому каталогу веб сервера (SRVROOT "C:\Program Files (x86)\Apache24"), то нам тут необходимо только поменять имя сертификата на то, которое мы указали при генерации. Впрочем, если напишете полный путь к сертификату, например, "C:\Program Files (x86)\Apache24\conf\ssl\myserver.crt", тоже будет работать. В итоге должно получиться примерно так:
На этом настройка веб-сервера завершена. Если озвученные ранее подготовительные действия были выполнены, то можно проверять доступность публикации из интернета. Действия аналогичные как для веб-сервера IIS.
Прежде чем приступить к выпуску временного сертификата, у нас уже должен быть доступный веб-сервер из Интернета по 80 порту. Далее нужно скачать с официального сайта и установить на свой компьютер (необязательно на сервер, для которого будет генерироваться сертификат) утилиту для командной строки certBot. После ее установки должны запустить командную строку от имени администратора и выполнить команду:
certbot certonly --authenticator manual
Тут программа нам предлагает ввести имя домена, для которого нужно выпустить сертификат. После ввода имени домена нажимаем "Enter". Следующим шагом нужно в корневом каталоге веб сервера создать файл с указанным именем и содержимым (это делается для подтверждения прав владения указанным доменом):
Должно получится как-то так:
Примечание: для создания каталога с точкой в начале имени каталога, воспользуйтесь командной строкой.
После создания указанного каталога и файла в нем жмем "Enter" и дожидаемся завершения выполнения команды. Если все выполнилось успешно, программа нам сгенерирует в каталог "C:\Certbot\archive" нужные нам сертификаты.
Теперь сгенерированные сертификаты можно добавлять в настройки веб-сервера.
Иногда может потребоваться преобразование сертификатов из одного формата в другой. Например, как добавить сгенерированные ранее сертификаты на веб- сервер IIS, когда мы помним, что для импорта сертификата нужен один файл с расширением "pfx"? Для этого нужно их сконвертировать в нужный нам формат. Для этой цели можно воспользоваться установленной ранее программой OpenSSL, выполнив команду:
openssl.exe pkcs12 -export -out "C:\Certbot\archive\app.rg-spc.ru\app.rg-spc.r.pfx" -inkey "C:\Certbot\archive\app.rg-spc.ru\privkey1.pem" -in "C:\Certbot\archive\app.rg-spc.ru\cert1.pem" -certfile "C:\Certbot\archive\app.rg-spc.ru\fullchain1.pem"
где нужно указать пути к сгенерированным ранее сертификатам и путь, куда должен быть сгенерирован преобразованный сертификат, а также придумать пароль к сертификату, который потребуется при его добавлении на веб-сервер.
После окончания выполнения команды в указанной нами папке должен появится сконвертированный сертификат:
Если вам прислали сертификат в виде двух файлов с расширениями "key" и "crt", тогда команда на преобразование в формат "pfx" будет выглядеть примерно так:
"C:\Program Files\OpenSSL-Win64\bin.openssl.exe" pkcs12 -inkey "C:\Сертификаты\KEY.key" -in "C:\Сертификаты\certificate.crt" -export -out "C:\Сертификаты\certificate.pfx"
Во время работы программа предложит придумать пароль для созданного сертификата и ввести его. Его потребуется ввести еще при добавлении сертификата на веб-сервер IIS, поэтому его нужно запомнить. Как импортировать сертификаты на IIS было описано ранее. После выполнения команды в указанном каталоге должен появится нужный нам сертификат.
Таким образом, мы наглядно показали, как выполнить публикацию баз 1С на веб-сервере с использованием сертификата или без такового.
Наш сайт использует файлы cookie для обеспечения удобства пользователей сайта, его улучшения, сбора статистики и предоставления персонализированных рекомендаций.
Для получения дополнительной информации о целях, сроках и порядке использования файлов cookie вы можете ознакомиться с нашей Политикой обработки файлов cookie