Публикация информационной базы 1С на Apache — это привязка URL-адреса к базе в кластере серверов. После публикации пользователи открывают 1С через браузер, без установки толстого клиента. Один Apache обслуживает несколько баз, каждая — по своему URL.
В этой статье — три способа публикации: утилита webinst (основной для Linux), ручная настройка default.vrd (для нестандартных случаев) и Конфигуратор 1С (удалённо через RDP/VNC). Ниже — настройка виртуальных хостов для нескольких баз, параметры авторизации, оптимизация производительности и типичные ошибки при публикации.
Предполагается, что Apache 2.4 установлен, модуль wsap24.so подключён, кластер 1С работает. Если нет — начните с настройки веб-сервера Apache для 1С. Если модуль не установлен — инструкция по установке модуля расширения веб-сервера.
Что потребуется для публикации
| Компонент | Требование | Проверка |
|---|---|---|
| Apache 2.4 | Установлен и запущен | apache2 -v или httpd -v |
| Модуль wsap24.so | Загружен в Apache | apache2ctl -M | grep 1cws |
| Кластер 1С | ragent, rmngr, rphost работают | ss -tlnp | grep -E "1540|1541" |
| Информационная база | Зарегистрирована в кластере | rac infobase summary list --cluster=<uuid> |
| Утилита webinst | В каталоге платформы 1С | ls /opt/1cv8/x86_64/*/webinst |
| Права | root или sudo | Для записи в конфиг Apache и каталог публикации |
Если информационная база ещё не зарегистрирована в кластере, добавьте её через утилиту rac или консоль кластера серверов 1С.
Как работает публикация 1С на Apache
Публикация создаёт два элемента: файл default.vrd и блок конфигурации в Apache. Файл default.vrd описывает подключение к базе (адрес кластера, имя базы, параметры авторизации). Блок в конфигурации Apache связывает URL-путь с каталогом, где лежит default.vrd, и указывает обработчик — модуль wsap24.
Цепочка обработки запроса:
- Браузер отправляет запрос на
http://сервер/accounting - Apache по директиве Alias определяет каталог публикации
- SetHandler передаёт запрос модулю wsap24.so
- Модуль читает default.vrd, подключается к ragent (порт 1540)
- ragent направляет запрос к rmngr, тот назначает рабочий процесс rphost
- rphost обращается к СУБД, выполняет запрос и отдаёт результат обратно
Обрыв на любом звене приводит к ошибке HTTP (код 500) или пустой странице. Понимание цепочки — основа для диагностики.
Способ 1: публикация через webinst
webinst — штатная утилита 1С для управления публикациями. Работает из командной строки, не требует GUI. Это основной и рекомендуемый способ для Linux-серверов.
Базовая публикация
# Определить версию платформы
V=$(ls /opt/1cv8/x86_64/)
echo "Версия: $V"
# Создать каталог публикации
sudo mkdir -p /var/www/1c/accounting
sudo chown www-data:www-data /var/www/1c/accounting
# Опубликовать базу
sudo /opt/1cv8/x86_64/$V/webinst \
-apache24 \
-wsdir accounting \
-dir /var/www/1c/accounting \
-connstr "Srvr=localhost;Ref=accounting;" \
-confpath /etc/apache2/apache2.conf
# Перезапустить Apache
sudo systemctl restart apache2
Параметры webinst:
| Параметр | Назначение | Пример |
|---|---|---|
-apache24 | Тип веб-сервера (Apache 2.4) | Обязательный для Apache |
-wsdir | Имя публикации — часть URL | -wsdir accounting → /accounting |
-dir | Каталог для default.vrd на диске | /var/www/1c/accounting |
-connstr | Строка подключения к базе | "Srvr=localhost;Ref=accounting;" |
-confpath | Путь к конфигу Apache | /etc/apache2/apache2.conf |
-descriptor | Путь к готовому .vrd-файлу | Для нестандартных публикаций |
Что webinst создаёт. Утилита выполняет два действия: записывает файл default.vrd в указанный каталог и добавляет блок Alias + Directory в конец файла конфигурации Apache. После этого Apache знает, что запросы на /accounting обрабатывает модуль 1С.
Для RHEL/CentOS замените -confpath на /etc/httpd/conf/httpd.conf, а владельца каталога — на apache:apache.
Проверка публикации
# Проверить, что default.vrd создан
cat /var/www/1c/accounting/default.vrd
# Проверить, что блок добавлен в конфигурацию Apache
grep -A5 "accounting" /etc/apache2/apache2.conf
# Проверить синтаксис конфигурации
apache2ctl configtest
# Syntax OK
# Открыть в браузере или curl
curl -I http://localhost/accounting
# HTTP/1.1 200 OK (или 302 — редирект на страницу входа)
Удаление публикации
webinst умеет не только создавать, но и удалять публикации:
# Удалить публикацию
sudo /opt/1cv8/x86_64/$V/webinst \
-apache24 \
-wsdir accounting \
-dir /var/www/1c/accounting \
-connstr "Srvr=localhost;Ref=accounting;" \
-confpath /etc/apache2/apache2.conf \
-delete
sudo systemctl restart apache2
Утилита удалит блок из конфигурации Apache и файл default.vrd. Каталог публикации останется — удалите вручную, если не нужен.
Способ 2: ручная настройка default.vrd
Ручная настройка нужна, когда webinst недоступен, результат публикации нужно модифицировать (нестандартные параметры vrd, отладка, OpenID) или когда публикация добавляется в отдельный виртуальный хост вместо глобального конфига Apache.
Структура файла default.vrd
default.vrd — XML-файл, описывающий параметры подключения к информационной базе. Минимальный вариант:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/accounting"
ib="Srvr=localhost;Ref=accounting;">
</point>
Расширенный вариант с дополнительными параметрами:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/accounting"
ib="Srvr=localhost;Ref=accounting;"
enable="true">
<!-- Веб-клиент -->
<ws enable="true"/>
<!-- HTTP-сервисы -->
<httpServices publishByDefault="true"/>
<!-- Web-сервисы (SOAP) -->
<ws enable="true"
pointEnableCommon="true"/>
<!-- Отладка -->
<debug enable="false"
protocol="tcp"
url="tcp://localhost"/>
<!-- OpenID -->
<openid
rely=""
provider=""/>
</point>
Ключевые атрибуты элемента <point>:
| Атрибут | Назначение | Значение по умолчанию |
|---|---|---|
base | URL-путь публикации (совпадает с Alias в Apache) | Обязательный |
ib | Строка подключения к базе в кластере | Обязательный |
enable | Включена ли публикация | true |
allowedCodePages | Допустимые кодовые страницы | Все |
Дочерние элементы:
| Элемент | Назначение |
|---|---|
<ws> | Управляет доступом к веб-клиенту и SOAP-сервисам |
<httpServices> | Управляет HTTP-сервисами (REST) |
<debug> | Включает удалённую отладку через веб-клиент |
<openid> | Настройка аутентификации через OpenID |
<pool> | Параметры пула соединений (size, maxAge) |
Создание публикации вручную
Шаг 1. Создайте каталог и файл default.vrd:
sudo mkdir -p /var/www/1c/accounting
sudo tee /var/www/1c/accounting/default.vrd <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/accounting"
ib="Srvr=localhost;Ref=accounting;">
</point>
EOF
sudo chown -R www-data:www-data /var/www/1c/accounting
Шаг 2. Добавьте конфигурацию Apache. На Ubuntu/Debian — отдельный файл в conf-available:
sudo tee /etc/apache2/conf-available/1c-accounting.conf <<'EOF'
Alias "/accounting" "/var/www/1c/accounting/"
<Directory "/var/www/1c/accounting/">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/1c/accounting/default.vrd"
</Directory>
EOF
sudo a2enconf 1c-accounting
apache2ctl configtest
sudo systemctl restart apache2
На RHEL/CentOS создайте файл /etc/httpd/conf.d/1c-accounting.conf с тем же содержимым. Перезапустите httpd.
Важно: значение base в default.vrd должно совпадать с путём в директиве Alias. Если Alias указывает на /accounting, то base тоже /accounting. Несовпадение приведёт к ошибке 404 или пустой странице.
Способ 3: публикация через Конфигуратор 1С
Конфигуратор 1С — графический инструмент для публикации. Работает на Windows и Linux (при наличии графической среды). На Linux-серверах без GUI — подключитесь через VNC, X11-forwarding или RDP.
Публикация через GUI
- Запустите Конфигуратор нужной информационной базы
- Перейдите: Администрирование → Публикация на веб-сервере
- Выберите веб-сервер Apache 2.4
- Заполните поля:
- Имя — имя публикации (станет частью URL)
- Каталог — путь для default.vrd (
/var/www/1c/accounting) - Путь к конфигурации Apache —
/etc/apache2/apache2.confили/etc/httpd/conf/httpd.conf
- Отметьте нужные компоненты: веб-клиент, HTTP-сервисы, web-сервисы
- Нажмите Опубликовать
Конфигуратор создаст default.vrd, добавит блок в конфигурацию Apache и перезапустит веб-сервер. По результату — то же самое, что webinst, но через графический интерфейс.
Когда использовать Конфигуратор
Конфигуратор удобен для первой настройки, когда нужно увидеть все параметры в одном окне. Через него удобно тонко настраивать публикацию HTTP- и web-сервисов — выбирать, какие именно сервисы публиковать. В webinst эти параметры задаются через -descriptor с готовым vrd-файлом.
На production-серверах без GUI лучше использовать webinst или ручную настройку. Конфигуратор требует графическую среду, которая на серверах обычно не установлена.
Несколько баз на одном Apache
Типичная ситуация: на одном сервере работают Бухгалтерия, ЗУП и УТ. Каждую базу публикуем по отдельному URL. Одного модуля wsap24 достаточно для всех публикаций.
Публикация нескольких баз через webinst
V=$(ls /opt/1cv8/x86_64/)
# Бухгалтерия
sudo mkdir -p /var/www/1c/buh
sudo chown www-data:www-data /var/www/1c/buh
sudo /opt/1cv8/x86_64/$V/webinst -apache24 \
-wsdir buh -dir /var/www/1c/buh \
-connstr "Srvr=localhost;Ref=buh;" \
-confpath /etc/apache2/apache2.conf
# ЗУП
sudo mkdir -p /var/www/1c/zup
sudo chown www-data:www-data /var/www/1c/zup
sudo /opt/1cv8/x86_64/$V/webinst -apache24 \
-wsdir zup -dir /var/www/1c/zup \
-connstr "Srvr=localhost;Ref=zup;" \
-confpath /etc/apache2/apache2.conf
# Управление торговлей
sudo mkdir -p /var/www/1c/ut
sudo chown www-data:www-data /var/www/1c/ut
sudo /opt/1cv8/x86_64/$V/webinst -apache24 \
-wsdir ut -dir /var/www/1c/ut \
-connstr "Srvr=localhost;Ref=ut;" \
-confpath /etc/apache2/apache2.conf
sudo systemctl restart apache2
После этого базы доступны по адресам:
http://сервер/buh— Бухгалтерияhttp://сервер/zup— Зарплата и управление персоналомhttp://сервер/ut— Управление торговлей
Виртуальные хосты для каждой базы
Если у каждой базы свой домен (buh.company.ru, zup.company.ru) — используйте виртуальные хосты Apache вместо URL-путей. Каждая база публикуется в корне своего домена.
# Виртуальный хост для Бухгалтерии
sudo tee /etc/apache2/sites-available/buh.conf <<'EOF'
<VirtualHost *:80>
ServerName buh.company.ru
Alias "/" "/var/www/1c/buh/"
<Directory "/var/www/1c/buh/">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/1c/buh/default.vrd"
</Directory>
</VirtualHost>
EOF
# Виртуальный хост для ЗУП
sudo tee /etc/apache2/sites-available/zup.conf <<'EOF'
<VirtualHost *:80>
ServerName zup.company.ru
Alias "/" "/var/www/1c/zup/"
<Directory "/var/www/1c/zup/">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
ManagedApplicationDescriptor "/var/www/1c/zup/default.vrd"
</Directory>
</VirtualHost>
EOF
# Включить оба сайта
sudo a2ensite buh zup
sudo systemctl restart apache2
При использовании виртуальных хостов измените base в default.vrd на "/" — база публикуется в корне домена, а не в подкаталоге. Также создайте DNS-записи для каждого домена, указывающие на IP сервера.
Для HTTPS добавьте второй VirtualHost на порту 443 с SSL-сертификатами — по аналогии с описанием в статье о настройке Apache для 1С.
Авторизация и контроль доступа
По умолчанию при открытии веб-клиента 1С пользователь видит стандартное окно входа: логин и пароль из списка пользователей информационной базы. Этот уровень авторизации делает сама 1С, а не Apache. Но Apache умеет добавить поверх ещё один-два уровня защиты.
Ограничение доступа по IP
Если база доступна только из офисной сети — ограничьте подключения на уровне Apache:
<Directory "/var/www/1c/accounting/">
AllowOverride None
Options None
SetHandler 1c-application
# Доступ только из офисной сети
Require ip 10.0.0.0/8
Require ip 192.168.1.0/24
# Или конкретные IP
Require ip 203.0.113.10
</Directory>
Запросы с других IP получат ответ 403 Forbidden. Это первый рубеж защиты — даже если учётные данные утекут, подключиться извне не получится.
HTTP Basic Auth (двойная авторизация)
Для доступа из интернета добавьте HTTP Basic Authentication — пользователь сначала проходит авторизацию Apache, затем авторизацию 1С:
# Создать файл паролей
sudo htpasswd -c /etc/apache2/.htpasswd_1c user1
# Ввести пароль
# Добавить ещё пользователей (без -c, чтобы не перезаписать файл)
sudo htpasswd /etc/apache2/.htpasswd_1c user2
# Конфигурация Apache с Basic Auth
<Directory "/var/www/1c/accounting/">
AllowOverride None
Options None
SetHandler 1c-application
AuthType Basic
AuthName "1C Enterprise"
AuthUserFile /etc/apache2/.htpasswd_1c
Require valid-user
</Directory>
Basic Auth передаёт пароль в кодировке Base64 — без HTTPS это не защита. Используйте только в связке с SSL/TLS.
Аутентификация средствами ОС
1С поддерживает аутентификацию средствами операционной системы. В строке подключения default.vrd можно указать параметр Usr и Pwd для автоматического входа определённым пользователем. На практике это используется для служебных подключений (HTTP-сервисы, интеграции), а не для веб-клиента.
<!-- Автоматический вход для HTTP-сервисов -->
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/accounting-api"
ib="Srvr=localhost;Ref=accounting;Usr=APIUser;Pwd=***;">
<httpServices publishByDefault="true"/>
<ws enable="false"/>
</point>
В этом примере веб-клиент отключён (ws enable="false"), а HTTP-сервисы доступны с автоматической авторизацией. Удобно для интеграции с внешними системами — CRM, сайтом, мобильным приложением.
Оптимизация производительности
Узкое место веб-доступа к 1С — не Apache, а сервер приложений и СУБД. Apache отдаёт запрос модулю wsap24, тот ждёт ответа от кластера. Если кластер медленный — браузер ждёт. Тем не менее, правильная настройка Apache снижает накладные расходы и предотвращает проблемы при нагрузке.
Таймауты
По умолчанию Apache разрывает соединение через 60 секунд. Для 1С этого мало — формирование тяжёлых отчётов или массовое проведение документов занимает больше минуты.
# /etc/apache2/apache2.conf (Ubuntu) или /etc/httpd/conf/httpd.conf (RHEL)
# Увеличить общий таймаут до 5 минут
Timeout 300
# KeepAlive — держать соединение открытым между запросами
KeepAlive On
KeepAliveTimeout 15
MaxKeepAliveRequests 100
KeepAlive особенно важен для веб-клиента 1С: за одно действие пользователя браузер отправляет несколько HTTP-запросов. Без KeepAlive каждый запрос создаёт новое TCP-соединение — это замедляет работу.
MPM (Multi-Processing Module)
Apache поддерживает три модели обработки запросов. Для 1С рекомендуется mpm_worker или mpm_event (не prefork).
| MPM | Модель | Для 1С |
|---|---|---|
| prefork | Один процесс на соединение | Работает, но потребляет больше RAM |
| worker | Процессы + потоки | Рекомендуется: меньше RAM, выше плотность |
| event | worker + асинхронный KeepAlive | Лучший вариант для 30+ пользователей |
# Проверить текущий MPM
apache2ctl -V | grep MPM
# Server MPM: event
# Переключить на event (Ubuntu)
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo systemctl restart apache2
Настройка пула соединений
В default.vrd можно указать параметры пула соединений модуля 1С к кластеру:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/accounting"
ib="Srvr=localhost;Ref=accounting;">
<pool size="100" maxAge="30" attempts="3"/>
</point>
| Параметр | Назначение | По умолчанию |
|---|---|---|
size | Максимальное число соединений в пуле | 100 |
maxAge | Время жизни неиспользуемого соединения (секунды) | 30 |
attempts | Число попыток подключения к кластеру | 3 |
Увеличьте size при большом числе одновременных подключений. Если пользователей больше 50 — установите size="200" или выше. При нехватке соединений в пуле пользователи получат ошибку код 500.
Сжатие трафика
Включите gzip-сжатие для уменьшения объёма передаваемых данных. Особенно заметно при медленных каналах связи (филиалы, VPN):
# Включить mod_deflate (Ubuntu)
sudo a2enmod deflate
# Конфигурация сжатия
sudo tee /etc/apache2/conf-available/1c-deflate.conf <<'EOF'
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/javascript
DeflateCompressionLevel 6
</IfModule>
EOF
sudo a2enconf 1c-deflate
sudo systemctl restart apache2
Сжатие снижает объём трафика на 50-70% для текстовых данных. CPU-нагрузка от сжатия минимальна — на современных серверах не заметна.
Пошаговая инструкция (сводная)
Типичные ошибки при публикации
Ошибка 404 — публикация не найдена
Браузер показывает стандартную страницу «Not Found» вместо входа в 1С. Причины:
- Опечатка в URL или wsdir. Если публикация на
/accounting, а запрос на/Accounting— Linux чувствителен к регистру. Проверьте точное имя:grep -r "Alias" /etc/apache2/ - Конфигурация Apache не применена. После добавления блока Alias/Directory перезапустите Apache:
sudo systemctl restart apache2. Без перезапуска Apache не увидит изменения - Файл конфигурации не включён. На Ubuntu проверьте:
apache2ctl -S— показывает активные виртуальные хосты и подключённые конфиги. Если ваш файл не в списке — включите черезa2enconfилиa2ensite
Ошибка 500 — внутренняя ошибка сервера
Модуль wsap24 загружен и обрабатывает запрос, но не может выполнить его. Причины по порядку:
- Служба 1С не запущена. Проверьте:
systemctl status srv1cv83. Если остановлена — запустите:sudo systemctl start srv1cv83 - Ошибка в строке подключения. Откройте default.vrd и проверьте параметры Srvr и Ref. Имя базы (Ref) должно совпадать с именем в кластере — не с именем базы данных в СУБД
- Нет рабочих процессов. Проверьте:
rac process --cluster=<uuid> list. Если процессов нет — проблема с кластером. Подробнее в статье код ответа 500 в веб-сервисе 1С - Несовпадение версий. Модуль wsap24 и сервер 1С должны быть одной версии. Проверьте:
ls /opt/1cv8/x86_64/— если несколько версий, убедитесь, что LoadModule указывает на ту же версию, что и работающий srv1cv83
Первое место для диагностики — лог Apache: sudo tail -50 /var/log/apache2/error.log (Ubuntu) или /var/log/httpd/error_log (RHEL).
Ошибка 403 — доступ запрещён
Apache блокирует доступ к каталогу публикации. Два места для проверки:
- Права файловой системы. Процесс Apache (www-data или apache) должен читать каталог публикации и default.vrd:
sudo chown -R www-data:www-data /var/www/1c/accounting/ - Директива Require. В Apache 2.4 по умолчанию доступ запрещён. Убедитесь, что в блоке
<Directory>естьRequire all granted(илиRequire ipс нужными подсетями) - SELinux (RHEL/CentOS). Установите контекст:
sudo chcon -R -t httpd_sys_content_t /var/www/1c/и разрешите сетевые подключения:sudo setsebool -P httpd_can_network_connect 1
Пустая страница или бесконечная загрузка
Браузер показывает пустую страницу или индикатор загрузки крутится бесконечно. Причина — таймаут соединения с кластером 1С. Модуль wsap24 ждёт ответа от ragent, но тот не отвечает.
- Файрвол. Если Apache и сервер 1С на разных машинах — проверьте, что порты 1540-1541 и 1560-1591 открыты между ними:
nc -zv <ip-сервера-1с> 1540 - Перегрузка сервера. Если rphost использует 100% CPU или RAM исчерпана — новые запросы зависают. Проверьте:
top -bn1 | head -15иfree -h - Таймаут Apache. Увеличьте
Timeout 300в конфигурации Apache. Стандартные 60 секунд недостаточны для тяжёлых операций
Публикация работает по HTTP, но не по HTTPS
Частая ошибка: блок Alias/Directory прописан только в HTTP-конфигурации (порт 80), а в HTTPS VirtualHost (порт 443) — нет. Apache обрабатывает HTTP и HTTPS как разные виртуальные хосты. Скопируйте блок публикации в оба VirtualHost или вынесите в отдельный файл, подключаемый через Include.
# Вынести публикацию в отдельный файл
sudo tee /etc/apache2/conf-available/1c-publications.conf <<'EOF'
Alias "/accounting" "/var/www/1c/accounting/"
<Directory "/var/www/1c/accounting/">
AllowOverride None
Options None
Require all granted
SetHandler 1c-application
</Directory>
EOF
# Включить — будет доступно и через HTTP, и через HTTPS
sudo a2enconf 1c-publications
sudo systemctl restart apache2
Вопросы и ответы
Как опубликовать несколько баз 1С на одном Apache?
Повторите команду webinst с уникальным -wsdir и -dir для каждой базы. Каждая база получит свой URL: /buh, /zup, /ut. Одного модуля wsap24 достаточно для всех публикаций. Перезапустите Apache один раз после добавления всех баз. Если нужен отдельный домен для каждой базы — используйте виртуальные хосты Apache.
Чем webinst отличается от ручной настройки default.vrd?
webinst автоматически создаёт default.vrd и добавляет блок Alias + Directory в конфигурацию Apache. Ручная настройка даёт больше контроля: можно задать пул соединений, включить/отключить HTTP-сервисы, настроить OpenID, вынести публикацию в виртуальный хост. Для стандартных случаев webinst проще и быстрее. Для нестандартных — ручная настройка.
Нужно ли переопубликовывать базы 1С после обновления платформы?
Да. Модуль wsap24.so привязан к версии платформы 1С. После обновления путь к модулю меняется (/opt/1cv8/x86_64/новая_версия/). Обновите LoadModule в конфигурации Apache и повторно выполните webinst для каждой базы. Без этого Apache будет использовать старый модуль, а сервер 1С — новую версию, что приведёт к ошибкам.
Как ограничить доступ к опубликованной базе 1С?
Три способа. По IP — директива Require ip в конфигурации Apache (доступ только из офисной сети). HTTP Basic Auth — двойная авторизация (сначала Apache, потом 1С). VPN — сервер не виден из интернета. Для доступа из интернета рекомендуется комбинация: HTTPS + ограничение по IP или HTTPS + VPN. Без HTTPS любая авторизация бесполезна — пароли перехватываются на лету.
Что такое файл default.vrd и зачем он нужен?
default.vrd — XML-файл, который описывает параметры подключения публикации к информационной базе 1С. Содержит адрес кластера (Srvr), имя базы (Ref), URL-путь (base), настройки пула соединений, флаги публикации веб-клиента и HTTP-сервисов. Создаётся автоматически утилитой webinst или Конфигуратором, но можно создать и отредактировать вручную.
Почему веб-клиент 1С тормозит через Apache?
Apache обычно не становится узким местом — он лишь передаёт запросы модулю wsap24. Тормозит сервер приложений 1С или СУБД. Проверьте: загрузку CPU и RAM на сервере (top, free -h), очередь рабочих процессов rphost, настройки пула соединений в default.vrd. Со стороны Apache: включите KeepAlive, увеличьте Timeout, переключитесь на mpm_event, включите gzip-сжатие.
Можно ли опубликовать файловую базу 1С на веб-сервере?
Да, но только для небольшого числа пользователей (1-3). В строке подключения вместо Srvr=…;Ref=… укажите путь к файловой базе: ib=»File=/path/to/database;». Для нескольких пользователей файловый режим не подходит — переходите на клиент-серверный. Сравнение режимов — в статье о клиент-серверном и файловом режиме 1С.
Итог
Публикация информационной базы 1С на Apache в Linux — три способа на выбор. webinst для стандартных случаев: одна команда, и база доступна по URL. Ручная настройка default.vrd — для нестандартных параметров, виртуальных хостов, тонкой настройки HTTP-сервисов. Конфигуратор — если нужен графический интерфейс и доступ к GUI.
На одном Apache работает любое количество баз — каждая по своему URL или на отдельном домене через виртуальные хосты. Для продуктивного использования: ограничьте доступ по IP, увеличьте таймаут до 300 секунд, переключитесь на mpm_event, настройте пул соединений под количество пользователей.
Если веб-клиент не открывается — диагностируйте по цепочке: Apache запущен → модуль загружен → служба 1С работает → порты открыты → default.vrd корректен. Подробнее о каждом звене — в статьях настройка Apache для 1С и модуль расширения веб-сервера. Если нужна помощь с настройкой — оставьте заявку на консультацию.
Методология тестирования серверов для 1С и рекомендации по оборудованию — на странице методологии.
Не уверены, что текущий сервер потянет нагрузку с веб-клиентом? Пришлите профиль базы (число пользователей, размер, версия СУБД) — бесплатно посчитаем конфигурацию под вас.