Как опубликовать клиент-серверную базу 1С на веб-сервере и какой сервер выбрать: Apache или IIS?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Переход на работу через веб-сервер — это важный этап масштабирования инфраструктуры 1С, особенно когда компания внедряет CRM-системы или переходит на удаленный формат работы. Часто у технических специалистов возникает вопрос: есть ли принципиальные отличия при публикации клиент-серверных баз (MS SQL) по сравнению с файловыми? Рассмотрим подробнее этот процесс и разберем критерии выбора между двумя основными игроками на рынке веб-серверов: Apache и IIS.

Возможность публикации клиент-серверных баз

Первым делом проанализируем ситуацию с архитектурой. Публикация клиент-серверной базы на веб-сервере не только возможна, но и является стандартным промышленным решением. В отличие от файлового варианта, где веб-сервер сам работает с файлом базы данных, в клиент-серверном варианте веб-сервер выступает в роли «шлюза» (прокси-звена). Он принимает HTTP/HTTPS запросы от браузера или тонкого клиента и перенаправляет их кластеру серверов 1С Предприятия.

Выясним причину, по которой это решение эффективно: вся тяжелая логика и запросы к SQL-серверу обрабатываются сервером приложений 1С, а веб-сервер лишь доставляет интерфейс пользователю. Это позволяет подключать десятки и сотни пользователей через обычный браузер.

Выбор между Apache и IIS: сильные и слабые стороны

При выборе веб-сервера разберем по шагам основные критерии, которые помогут принять решение:

  1. Интеграция с Windows (IIS): Если ваша инфраструктура построена полностью на решениях Microsoft, Internet Information Services (IIS) будет естественным выбором. Он является компонентом операционной системы, что упрощает администрирование.
  2. Кроссплатформенность (Apache): Если в будущем планируется перенос серверной части на Linux, лучше сразу смотреть в сторону Apache HTTP Server. Он стабилен, потребляет меньше ресурсов на простых конфигурациях и имеет огромную базу документации.
  3. Доменная авторизация: Посмотрим на пример настройки сквозного входа. В IIS настройка Windows-авторизации (NTLM) выполняется буквально несколькими кликами в консоли управления. В Apache реализация Kerberos-авторизации возможна, но потребует глубокой правки конфигурационных файлов и использования сторонних модулей.
  4. Изоляция процессов: В IIS можно создать отдельные пулы приложений для каждой базы. Если одна база вызовет критический сбой веб-компонента, остальные базы в своих пулах продолжат работу. В стандартной настройке Apache сбой рабочего процесса может затронуть все опубликованные на нем ресурсы.

Технические нюансы публикации

Рассмотрим подробнее критически важный аспект — разрядность. Крайне важно, чтобы разрядность установленного веб-сервера совпадала с разрядностью модуля расширения веб-сервера 1С. Если вы установили 64-битную платформу 1С, то и Apache (или пул в IIS) должен быть 64-битным. В противном случае публикация просто не «подцепится».

Для публикации обычно используется либо штатная консоль администрирования (для IIS), либо утилита webinst, входящая в состав платформы 1С. Проанализируем пример команды для публикации через командную строку:


webinst -apache24 -wsdir MyBase -dir "C:\inetpub\wwwroot\MyBase" -connstr "Srvr='Server1C';Ref='BaseName';" -confPath "C:\Apache24\conf\httpd.conf"

Здесь параметр -wsdir определяет имя виртуального каталога, а -connstr указывает строку соединения с кластером серверов 1С.

Особенности работы с MS SQL и CRM в веб-клиенте

Когда мы работаем с тяжелыми конфигурациями вроде 1С:CRM, выясним причину возможных задержек. Веб-сервер имеет свои лимиты на время выполнения запроса. Если пользователь формирует сложный отчет, который SQL-сервер обрабатывает более 60 секунд, веб-сервер может оборвать соединение по тайм-ауту.

Чтобы этого избежать, разберем по шагам необходимые правки:

Безопасность и HTTPS

Рассмотрим ситуацию публикации базы во внешнюю сеть. Использовать стандартный протокол HTTP (порт 80) категорически не рекомендуется, так как данные авторизации передаются в открытом виде. Необходимо настроить SSL-сертификат.

Для IIS процедура получения сертификата (например, через Let's Encrypt) автоматизирована гораздо лучше. Для Apache потребуется ручная настройка модуля mod_ssl и указание путей к файлам сертификатов .crt и ключей .key.

Лицензирование при веб-публикации

Важно помнить: при работе через веб-сервер лицензии может выдавать как сам сервер 1С, так и веб-сервер. Проанализируем ситуацию: если вы используете программные лицензии, их рекомендуется устанавливать на сервер 1С Предприятия. В настройках публикации (файл default.vrd) можно управлять параметром publishes, который определяет, будет ли веб-сервер пытаться раздавать лицензии самостоятельно.

Подведем итог: для небольших рабочих групп (5-15 пользователей) разницы между Apache и IIS практически нет. Однако для крупных внедрений с использованием доменной авторизации и строгих требований к отказоустойчивости, мы рекомендуем использовать IIS в связке с 64-битной платформой 1С.

← На главную