VRD файлы — Virtual Resource Directory
Загальна інформація
VRD (Virtual Resource Directory) — это конфигурационный файл 1С:Предприятие, который описывает параметры публикации информационной базы через веб-сервер.
Назначение
Файл .vrd является мостом между веб-сервером и 1С. Он содержит:
- Строку подключения к информационной базе
- Параметры пула рабочих процессов
- Настройки безопасности и таймауты
- Правила обработки HTTP-запросов
Расположение
Типичное расположение файла:
/var/www/olvita-ws/default.vrd
default.vrd.
Создание VRD файла
VRD файл автоматически генерируется утилитой webinst при публикации:
/opt/1C/v8.3/x86_64/webinst -publish \
-dir "/var/www/olvita-ws" \
-connstr 'File="/home/anton/Documents/1С/OlvitaDB";Usr="Admin";Pwd="acdc"' \
-wsdir "olvita"
Структура файла
Пример типичного VRD файла:
# Строка подключения к информационной базе
connect-string = File='/home/anton/Documents/1С/OlvitaDB';Usr='Admin';Pwd='acdc';
# Пул процессов
pool-size = 3 # Количество рабочих процессов
pool-timeout = 300 # Таймаут неактивного процесса (сек)
# Таймауты соединений
request-timeout = 120 # Таймаут обработки запроса (сек)
session-timeout = 1200 # Таймаут сессии (сек)
# Безопасность
authentication = basic # Тип аутентификации (basic/digest/none)
# Логирование
debug = 0 # Уровень детализации логов (0-3)
# Кодировка
charset = utf-8 # Кодировка по умолчанию
Основные параметры
connect-string
Строка подключения к базе данных 1С.
- Содержит путь к базе, пользователя и пароль
- Критично: без этого параметра публикация не работает
- Формат для файловой базы:
File='путь';Usr='пользователь';Pwd='пароль'; - Формат для серверной базы:
Srvr='сервер';Ref='база';Usr='пользователь';Pwd='пароль';
pool-size
Количество одновременно работающих процессов 1С.
- Рекомендуется: 2-5 для небольших нагрузок
- Каждый процесс потребляет ~100-200 МБ оперативной памяти
- Значение по умолчанию: 3
pool-timeout
Время жизни неактивного процесса в секундах.
- После истечения времени процесс автоматически завершается
- Освобождает ресурсы при простое
- Рекомендуемое значение: 300 (5 минут)
request-timeout
Максимальное время обработки одного HTTP-запроса в секундах.
- При превышении времени запрос прерывается с ошибкой
- Защита от зависших запросов
- Рекомендуемое значение: 120 (2 минуты)
session-timeout
Время жизни HTTP-сессии пользователя в секундах.
- После истечения времени сессия сбрасывается
- Влияет на сохранение состояния между запросами
- Рекомендуемое значение: 1200 (20 минут)
authentication
Тип аутентификации для веб-сервиса.
basic— базовая HTTP-аутентификацияdigest— более безопасная digest-аутентификацияnone— без аутентификации (не рекомендуется для production)
debug
Уровень детализации логов (0-3).
0— минимальное логирование1— стандартное логирование2— расширенное логирование3— максимальная детализация (для отладки)
Как работает VRD
- Шаг 1: Apache получает HTTP-запрос →
/olvita/hs/odoo/... - Шаг 2: Модуль
mod_wsap24читает VRD файл →/var/www/olvita-ws/default.vrd - Шаг 3: Извлекает строку подключения
connect-string - Шаг 4: Ищет свободный процесс из пула
pool-size - Шаг 5: Передает запрос в рабочий процесс 1С
- Шаг 6: Получает ответ от 1С и возвращает клиенту
Ручное редактирование
VRD файл можно редактировать вручную в текстовом редакторе:
sudo nano /var/www/olvita-ws/default.vrd
sudo systemctl restart apache2
Проверка конфигурации
Для проверки корректности VRD файла используйте следующие команды:
Проверка синтаксиса Apache
sudo apache2ctl configtest
Просмотр статуса Apache
sudo systemctl status apache2
Просмотр логов ошибок
sudo tail -f /var/log/apache2/error.log
Типичные проблемы и решения
Проблема: 500 Internal Server Error
Причина: Неверная строка подключения или база недоступна.
Решение:
- Проверьте путь к базе в параметре
connect-string - Убедитесь, что база существует и доступна для чтения
- Проверьте права доступа к файлу базы
Проблема: Таймаут запроса
Причина: Запрос выполняется дольше, чем request-timeout.
Решение:
- Увеличьте значение
request-timeout - Оптимизируйте код обработки запроса в 1С
Проблема: Нехватка рабочих процессов
Причина: Все процессы из пула заняты.
Решение:
- Увеличьте значение
pool-size - Убедитесь, что есть достаточно оперативной памяти
Безопасность
- Ограничьте права доступа к файлу:
chmod 600 /var/www/olvita-ws/default.vrd - Установите владельца файла:
chown www-data:www-data /var/www/olvita-ws/default.vrd - Не храните VRD файлы в публичных репозиториях
- Используйте отдельного пользователя 1С с минимальными правами
Пример настройки прав доступа
# Установка прав доступа
sudo chmod 600 /var/www/olvita-ws/default.vrd
sudo chown www-data:www-data /var/www/olvita-ws/default.vrd
# Проверка прав
ls -la /var/www/olvita-ws/default.vrd
Рекомендации по настройке
| Параметр | Разработка | Тестирование | Production |
|---|---|---|---|
pool-size |
2 | 3-5 | 5-10 |
pool-timeout |
600 | 300 | 300 |
request-timeout |
300 | 120 | 60-120 |
session-timeout |
3600 | 1800 | 1200 |
debug |
3 | 2 | 0-1 |
Связанные файлы и команды
Конфигурация Apache
/etc/apache2/sites-available/olvita.conf
Логи Apache
/var/log/apache2/error.log
/var/log/apache2/access.log
Перезагрузка конфигурации
# Проверка конфигурации
sudo apache2ctl configtest
# Перезагрузка Apache
sudo systemctl reload apache2
# Полный перезапуск Apache
sudo systemctl restart apache2
Диагностика
Проверка процессов 1С
# Просмотр запущенных процессов 1С
ps aux | grep ragent
# Убить зависший процесс
sudo kill -9 [PID]
Мониторинг использования памяти
# Память, используемая процессами 1С
ps aux | grep ragent | awk '{sum+=$6} END {print "Total memory: " sum/1024 " MB"}'
Документация актуальна для 1С:Предприятие 8.3. Версия 2025-10-03.