Переход на работу через веб-сервер — это важный этап масштабирования инфраструктуры 1С, особенно когда компания внедряет CRM-системы или переходит на удаленный формат работы. Часто у технических специалистов возникает вопрос: есть ли принципиальные отличия при публикации клиент-серверных баз (MS SQL) по сравнению с файловыми? Рассмотрим подробнее этот процесс и разберем критерии выбора между двумя основными игроками на рынке веб-серверов: Apache и IIS.
Первым делом проанализируем ситуацию с архитектурой. Публикация клиент-серверной базы на веб-сервере не только возможна, но и является стандартным промышленным решением. В отличие от файлового варианта, где веб-сервер сам работает с файлом базы данных, в клиент-серверном варианте веб-сервер выступает в роли «шлюза» (прокси-звена). Он принимает HTTP/HTTPS запросы от браузера или тонкого клиента и перенаправляет их кластеру серверов 1С Предприятия.
Выясним причину, по которой это решение эффективно: вся тяжелая логика и запросы к SQL-серверу обрабатываются сервером приложений 1С, а веб-сервер лишь доставляет интерфейс пользователю. Это позволяет подключать десятки и сотни пользователей через обычный браузер.
При выборе веб-сервера разберем по шагам основные критерии, которые помогут принять решение:
Internet Information Services (IIS) будет естественным выбором. Он является компонентом операционной системы, что упрощает администрирование.Apache HTTP Server. Он стабилен, потребляет меньше ресурсов на простых конфигурациях и имеет огромную базу документации.Рассмотрим подробнее критически важный аспект — разрядность. Крайне важно, чтобы разрядность установленного веб-сервера совпадала с разрядностью модуля расширения веб-сервера 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С.
Когда мы работаем с тяжелыми конфигурациями вроде 1С:CRM, выясним причину возможных задержек. Веб-сервер имеет свои лимиты на время выполнения запроса. Если пользователь формирует сложный отчет, который SQL-сервер обрабатывает более 60 секунд, веб-сервер может оборвать соединение по тайм-ауту.
Чтобы этого избежать, разберем по шагам необходимые правки:
Timeout и KeepAliveTimeout в файле httpd.conf.activityTimeout и requestTimeout.Рассмотрим ситуацию публикации базы во внешнюю сеть. Использовать стандартный протокол HTTP (порт 80) категорически не рекомендуется, так как данные авторизации передаются в открытом виде. Необходимо настроить SSL-сертификат.
Для IIS процедура получения сертификата (например, через Let's Encrypt) автоматизирована гораздо лучше. Для Apache потребуется ручная настройка модуля mod_ssl и указание путей к файлам сертификатов .crt и ключей .key.
Важно помнить: при работе через веб-сервер лицензии может выдавать как сам сервер 1С, так и веб-сервер. Проанализируем ситуацию: если вы используете программные лицензии, их рекомендуется устанавливать на сервер 1С Предприятия. В настройках публикации (файл default.vrd) можно управлять параметром publishes, который определяет, будет ли веб-сервер пытаться раздавать лицензии самостоятельно.
Подведем итог: для небольших рабочих групп (5-15 пользователей) разницы между Apache и IIS практически нет. Однако для крупных внедрений с использованием доменной авторизации и строгих требований к отказоустойчивости, мы рекомендуем использовать IIS в связке с 64-битной платформой 1С.