Подробный гайд: Публикация базы на веб-сервере 1С Предприятие
Публикация базы 1С:Предприятие на веб-сервере позволяет пользователям работать с конфигурацией через обычный браузер (тонкий клиент в браузере или веб-клиент). Это стандартная задача для организации удаленной работы или предоставления доступа внешним пользователям.
Ниже представлен подробный пошаговый гайд. В качестве основной платформы мы рассмотрим Windows Server + IIS (наиболее частый сценарий), но также затронем ключевые моменты для Linux + Apache.
Этап 1: Подготовка и установка компонентов
Перед началом убедитесь, что у вас установлены следующие компоненты.
Важно:
версии всех компонентов 1С должны строго совпадать (например, 8.3.22.xxxx).
- Сервер 1С:Предприятие (уже должен быть установлен и работать).
2. Расширение для работы с веб-сервером 1С:Предприятия (скачивается с сайта пользователей 1С в том же релизе, что и сервер).
- Для Windows: файл
webinst.exeили MSI-пакет. - Для Linux: пакеты
.debили.rpm(например,1c-enterprise83-ws-x86_64).
3. Веб-сервер:
- Windows: IIS (Internet Information Services).
- Linux: Apache HTTP Server.
Настройка IIS (для Windows)
- Откройте Диспетчер серверов (Server Manager) -> Добавить роли и компоненты.
- Выберите роль Веб-сервер (IIS).
3. В разделе Безопасность обязательно отметьте:
- Фильтры ISAPI (ISAPI Filters)
- Расширения ISAPI (ISAPI Extensions)
- В разделе Средства разработки (или "Общие возможности") рекомендуется добавить Совместимость с управлением IIS 6 (требуется для некоторых старых версий 1С, но не помешает и новым).
- Завершите установку.
Этап 2: Установка расширения для веб-сервера
Для Windows:
- Запустите установщик расширения (
webinst.exeили MSI). - В мастере установки выберите ваш веб-сервер (IIS).
- Укажите путь к корневой директории веб-сервера (обычно
C:\inetpub\wwwroot). - Завершите установку. Система автоматически зарегистрирует необходимые ISAPI-фильтры и обработчики.
Для Linux (Apache):
1. Установите пакеты расширения (пример для Ubuntu/Debian):
sudo dpkg -i 1c-enterprise83-ws_8.3.xx.xxxx_amd64.deb
sudo apt-get install -f # если есть зависимости
2. Включите необходимые модули Apache:
sudo a2enmod rewrite
3. Перезапустите Apache: sudo systemctl restart apache2.
Этап 3: Публикация базы через Консоль администрирования 1С
Это основной этап, где мы связываем базу данных с веб-сервером.
- Откройте Администрирование серверов 1С:Предприятия (Пуск -> 1С:Предприятие -> Администрирование серверов 1С:Предприятия).
- Подключитесь к нужному кластеру серверов.
- В дереве слева раскройте Кластеры -> Ваш кластер -> Информационные базы.
- Найдите нужную базу, нажмите на неё правой кнопкой мыши и выберите Опубликовать на веб-сервере....
5. Откроется мастер публикации. Заполните поля:
- Имя веб-сервера:
localhost(если веб-сервер на той же машине) или IP/имя сервера. - Тип веб-сервера: Выберите
IIS(илиApache). - Имя виртуального каталога: Придумайте короткое имя латиницей без пробелов (например,
demo,erp,base1). Именно это имя будет в адресной строке браузера. - Путь к виртуальному каталогу: Оставьте по умолчанию (IIS создаст его в
C:\inetpub\wwwroot\<имя_каталога>). - Аутентификация:
- Стандартная (рекомендуется): пользователи вводят логин/пароль 1С.
- Аутентификация ОС: требует сложной настройки Kerberos/NTLM, используйте только если есть строгая необходимость.
- Время жизни сеанса: Например,
20минут (сеанс завершится при неактивности).- Нажмите Опубликовать.
- Если всё прошло успешно, появится сообщение: "Публикация информационной базы выполнена успешно".
Про-совет:
В папке виртуального каталога (например, C:\inetpub\wwwroot\base1) создастся файл default.vrd. Это XML-файл конфигурации публикации. Его можно редактировать вручную в Блокноте для тонкой настройки (например, включения отладки или изменения параметров защищенного соединения).
Этап 4: Проверка работоспособности
- Откройте веб-браузер (Chrome, Edge, Firefox).
2. Введите адрес: http://<IP_адрес_или_имя_сервера>/<имя_виртуального_каталога>/
Пример: http://192.168.1.100/base1/
3. Должна открыться страница входа в 1С с запросом имени пользователя и пароля.
4. Введите корректные учётные данные пользователя 1С.
5. Если база открылась – поздравляю, публикация успешна!
Этап 5: Безопасность и оптимизация (Обязательно для продакшена!)
Просто опубликовать базу недостаточно, её нужно защитить.
1. Настройка HTTPS (Критически важно!):
- Никогда не передавайте пароли 1С по открытому HTTP в интернете.
- Получите SSL-сертификат (можно бесплатный от Let's Encrypt или коммерческий).
- Привяжите сертификат к сайту в IIS (Привязки -> Добавить -> https -> порт 443 -> выбрать сертификат).
- В IIS настройте обязательное перенаправление (Redirect) с HTTP (порт 80) на HTTPS (порт 443).
2. Брандмауэр (Firewall):
- Откройте порты 80 (HTTP) и 443 (HTTPS) для внешних пользователей.
- ЗАКРОЙТЕ порты кластера 1С (1540, 1541 и диапазон портов рабочих процессов) для доступа из интернета! Доступ к ним должен быть только у самого веб-сервера (локально или по внутренней сети).
3. Ограничение ресурсов в IIS:
- В Диспетчере IIS выберите ваш сайт или пул приложений.
- Перейдите в "Ограничения ASP" или настройки пула приложений.
- Установите разумные лимиты на время выполнения скриптов и использование памяти, чтобы один "зависший" веб-сеанс не положил весь сервер.
4. Настройка в default.vrd:
- Откройте файл
default.vrdв папке публикации. - Убедитесь, что атрибут
enable-debuggerстоит вfalse(включайте только на время отладки).
Этап 6: Частые ошибки и их решение
| Ошибка / Симптом | Возможная причина | Решение |
|---|---|---|
| Ошибка 404 (Не найдено) | Виртуальный каталог не создан или неправильно указан путь в IIS. | Проверьте в IIS, существует ли приложение с заданным именем. Перепубликуйте базу. |
| Ошибка 500 (Внутренняя ошибка) | Конфликт версий 1С и расширения, или нет прав у пула приложений IIS. | 1. Проверьте, что версии сервера 1С и webinst идентичны.2. В IIS в пуле приложений установите "Управляемый конвейер" в Классический (Classic), а удостоверение (Identity) в NetworkService или LocalSystem (для теста). |
| Белый экран или бесконечная загрузка | Блокировка антивирусом/брандмауэром, или проблемы с кэшем браузера. | Добавьте сайт в доверенные, очистите кэш браузера, проверьте логи событий Windows (Просмотр событий -> Журналы Windows -> Приложение). |
| "Сеанс завершен" сразу после входа | Истекло время жизни сеанса, или веб-сервер не может связаться с сервером 1С. | Проверьте, запущен ли сервер 1С. Увеличьте session-timeout в default.vrd или настройках IIS. |
Рекомендация на будущее
Если нагрузка на веб-клиентов будет высокой, рассмотрите возможность выноса веб-сервера (IIS/Apache) на отдельную машину. В этом случае при публикации в шаге 3 вместо localhost нужно будет указать внутренний IP-адрес сервера 1С, а на сервере 1С в настройках кластера разрешить подключение с IP-адреса веб-сервера.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.